Skip to content

Commit 46a6ae6

Browse files
committed
operator pdb: fix the remaining issues
Signed-off-by: zhzhuang-zju <[email protected]>
1 parent 88b3e4b commit 46a6ae6

File tree

9 files changed

+49
-94
lines changed

9 files changed

+49
-94
lines changed

operator/pkg/controlplane/apiserver/apiserver.go

Lines changed: 8 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -17,15 +17,13 @@ limitations under the License.
1717
package apiserver
1818

1919
import (
20-
"context"
2120
"fmt"
2221

2322
appsv1 "k8s.io/api/apps/v1"
2423
corev1 "k8s.io/api/core/v1"
2524
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
2625
"k8s.io/apimachinery/pkg/labels"
2726
kuberuntime "k8s.io/apimachinery/pkg/runtime"
28-
"k8s.io/apimachinery/pkg/runtime/schema"
2927
clientset "k8s.io/client-go/kubernetes"
3028
clientsetscheme "k8s.io/client-go/kubernetes/scheme"
3129

@@ -37,6 +35,9 @@ import (
3735
"github.com/karmada-io/karmada/operator/pkg/util/patcher"
3836
)
3937

38+
// DeploymentGVK represents the GroupVersionKind (GVK) for a Kubernetes Deployment resource.
39+
var DeploymentGVK = appsv1.SchemeGroupVersion.WithKind("Deployment")
40+
4041
// EnsureKarmadaAPIServer creates karmada apiserver deployment and service resource
4142
func EnsureKarmadaAPIServer(client clientset.Interface, cfg *operatorv1alpha1.KarmadaComponents, name, namespace string, featureGates map[string]bool) error {
4243
if err := installKarmadaAPIServer(client, cfg.KarmadaAPIServer, cfg.Etcd, name, namespace, featureGates); err != nil {
@@ -88,17 +89,11 @@ func installKarmadaAPIServer(client clientset.Interface, cfg *operatorv1alpha1.K
8889
WithExtraArgs(cfg.ExtraArgs).WithExtraVolumeMounts(cfg.ExtraVolumeMounts).
8990
WithExtraVolumes(cfg.ExtraVolumes).WithSidecarContainers(cfg.SidecarContainers).WithResources(cfg.Resources).ForDeployment(apiserverDeployment)
9091

91-
if err := apiclient.CreateOrUpdateDeployment(client, apiserverDeployment); err != nil {
92+
if apiserverDeployment, err = apiclient.CreateOrUpdateDeployment(client, apiserverDeployment); err != nil {
9293
return fmt.Errorf("error when creating deployment for %s, err: %w", apiserverDeployment.Name, err)
9394
}
9495

95-
// Fetch persisted Deployment to get real UID
96-
persisted, err := client.AppsV1().Deployments(namespace).Get(context.TODO(), apiserverDeployment.GetName(), metav1.GetOptions{})
97-
if err != nil {
98-
return fmt.Errorf("failed to fetch Deployment %s/%s for PDB owner, err: %w", namespace, apiserverDeployment.GetName(), err)
99-
}
100-
gvk := schema.GroupVersionKind{Group: "apps", Version: "v1", Kind: "Deployment"}
101-
ownerRef := *metav1.NewControllerRef(persisted, gvk)
96+
ownerRef := *metav1.NewControllerRef(apiserverDeployment, DeploymentGVK)
10297
if err := pdb.EnsurePodDisruptionBudget(client, util.KarmadaAPIServerName(name), namespace, cfg.CommonSettings.PodDisruptionBudgetConfig, apiserverDeployment.Spec.Template.Labels, []metav1.OwnerReference{ownerRef}); err != nil {
10398
return fmt.Errorf("failed to ensure PDB for apiserver component %s, err: %w", util.KarmadaAPIServerName(name), err)
10499
}
@@ -171,18 +166,12 @@ func installKarmadaAggregatedAPIServer(client clientset.Interface, cfg *operator
171166
WithPriorityClassName(cfg.CommonSettings.PriorityClassName).
172167
WithExtraArgs(cfg.ExtraArgs).WithFeatureGates(featureGates).WithResources(cfg.Resources).ForDeployment(aggregatedAPIServerDeployment)
173168

174-
if err := apiclient.CreateOrUpdateDeployment(client, aggregatedAPIServerDeployment); err != nil {
169+
if aggregatedAPIServerDeployment, err = apiclient.CreateOrUpdateDeployment(client, aggregatedAPIServerDeployment); err != nil {
175170
return fmt.Errorf("error when creating deployment for %s, err: %w", aggregatedAPIServerDeployment.Name, err)
176171
}
177172

178-
// Fetch persisted Deployment to get real UID
179-
persistedAgg, err := client.AppsV1().Deployments(namespace).Get(context.TODO(), aggregatedAPIServerDeployment.GetName(), metav1.GetOptions{})
180-
if err != nil {
181-
return fmt.Errorf("failed to fetch Deployment %s/%s for PDB owner, err: %w", namespace, aggregatedAPIServerDeployment.GetName(), err)
182-
}
183-
gvk2 := schema.GroupVersionKind{Group: "apps", Version: "v1", Kind: "Deployment"}
184-
ownerRef2 := *metav1.NewControllerRef(persistedAgg, gvk2)
185-
if err := pdb.EnsurePodDisruptionBudget(client, util.KarmadaAggregatedAPIServerName(name), namespace, cfg.CommonSettings.PodDisruptionBudgetConfig, aggregatedAPIServerDeployment.Spec.Template.Labels, []metav1.OwnerReference{ownerRef2}); err != nil {
173+
ownerRef := *metav1.NewControllerRef(aggregatedAPIServerDeployment, DeploymentGVK)
174+
if err := pdb.EnsurePodDisruptionBudget(client, util.KarmadaAggregatedAPIServerName(name), namespace, cfg.CommonSettings.PodDisruptionBudgetConfig, aggregatedAPIServerDeployment.Spec.Template.Labels, []metav1.OwnerReference{ownerRef}); err != nil {
186175
return fmt.Errorf("failed to ensure PDB for aggregated apiserver component %s, err: %w", util.KarmadaAggregatedAPIServerName(name), err)
187176
}
188177

operator/pkg/controlplane/controlplane.go

Lines changed: 3 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -17,19 +17,18 @@ limitations under the License.
1717
package controlplane
1818

1919
import (
20-
"context"
2120
"fmt"
2221

2322
appsv1 "k8s.io/api/apps/v1"
2423
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
2524
kuberuntime "k8s.io/apimachinery/pkg/runtime"
26-
"k8s.io/apimachinery/pkg/runtime/schema"
2725
clientset "k8s.io/client-go/kubernetes"
2826
clientsetscheme "k8s.io/client-go/kubernetes/scheme"
2927
"k8s.io/klog/v2"
3028

3129
operatorv1alpha1 "github.com/karmada-io/karmada/operator/pkg/apis/operator/v1alpha1"
3230
"github.com/karmada-io/karmada/operator/pkg/constants"
31+
"github.com/karmada-io/karmada/operator/pkg/controlplane/apiserver"
3332
"github.com/karmada-io/karmada/operator/pkg/controlplane/pdb"
3433
"github.com/karmada-io/karmada/operator/pkg/util"
3534
"github.com/karmada-io/karmada/operator/pkg/util/apiclient"
@@ -49,7 +48,7 @@ func EnsureControlPlaneComponent(component, name, namespace string, featureGates
4948
return nil
5049
}
5150

52-
if err := apiclient.CreateOrUpdateDeployment(client, deployment); err != nil {
51+
if deployment, err = apiclient.CreateOrUpdateDeployment(client, deployment); err != nil {
5352
return fmt.Errorf("failed to create deployment resource for component %s, err: %w", component, err)
5453
}
5554

@@ -83,14 +82,7 @@ func EnsureControlPlaneComponent(component, name, namespace string, featureGates
8382
}
8483

8584
if commonSettings != nil {
86-
// Fetch the persisted Deployment to ensure UID is populated
87-
persisted, err := client.AppsV1().Deployments(namespace).Get(context.TODO(), deployment.GetName(), metav1.GetOptions{})
88-
if err != nil {
89-
return fmt.Errorf("failed to fetch Deployment %s/%s for PDB owner, err: %w", namespace, deployment.GetName(), err)
90-
}
91-
// Build OwnerReference for controller with real UID
92-
gvk := schema.GroupVersionKind{Group: "apps", Version: "v1", Kind: "Deployment"}
93-
ownerRef := *metav1.NewControllerRef(persisted, gvk)
85+
ownerRef := *metav1.NewControllerRef(deployment, apiserver.DeploymentGVK)
9486
if err := pdb.EnsurePodDisruptionBudget(client, pdbName, namespace, commonSettings.PodDisruptionBudgetConfig, deployment.Spec.Template.Labels, []metav1.OwnerReference{ownerRef}); err != nil {
9587
return fmt.Errorf("failed to ensure PDB for component %s (instance: %s), err: %w", component, pdbName, err)
9688
}

operator/pkg/controlplane/etcd/etcd.go

Lines changed: 5 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -17,15 +17,13 @@ limitations under the License.
1717
package etcd
1818

1919
import (
20-
"context"
2120
"fmt"
2221
"strings"
2322

2423
appsv1 "k8s.io/api/apps/v1"
2524
corev1 "k8s.io/api/core/v1"
2625
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
2726
kuberuntime "k8s.io/apimachinery/pkg/runtime"
28-
"k8s.io/apimachinery/pkg/runtime/schema"
2927
clientset "k8s.io/client-go/kubernetes"
3028
clientsetscheme "k8s.io/client-go/kubernetes/scheme"
3129
"k8s.io/component-base/cli/flag"
@@ -38,6 +36,9 @@ import (
3836
"github.com/karmada-io/karmada/operator/pkg/util/patcher"
3937
)
4038

39+
// StatefulSetGVK represents the GroupVersionKind (GVK) for a Kubernetes StatefulSet resource.
40+
var StatefulSetGVK = appsv1.SchemeGroupVersion.WithKind("StatefulSet")
41+
4142
// EnsureKarmadaEtcd creates etcd StatefulSet and service resource.
4243
func EnsureKarmadaEtcd(client clientset.Interface, cfg *operatorv1alpha1.LocalEtcd, name, namespace string) error {
4344
if err := installKarmadaEtcd(client, name, namespace, cfg); err != nil {
@@ -98,17 +99,11 @@ func installKarmadaEtcd(client clientset.Interface, name, namespace string, cfg
9899
WithPriorityClassName(cfg.CommonSettings.PriorityClassName).
99100
WithVolumeData(cfg.VolumeData).WithResources(cfg.Resources).ForStatefulSet(etcdStatefulSet)
100101

101-
if err := apiclient.CreateOrUpdateStatefulSet(client, etcdStatefulSet); err != nil {
102+
if etcdStatefulSet, err = apiclient.CreateOrUpdateStatefulSet(client, etcdStatefulSet); err != nil {
102103
return fmt.Errorf("error when creating Etcd statefulset, err: %w", err)
103104
}
104105

105-
// Fetch persisted StatefulSet to get real UID
106-
persisted, err := client.AppsV1().StatefulSets(namespace).Get(context.TODO(), etcdStatefulSet.GetName(), metav1.GetOptions{})
107-
if err != nil {
108-
return fmt.Errorf("failed to fetch StatefulSet %s/%s for PDB owner, err: %w", namespace, etcdStatefulSet.GetName(), err)
109-
}
110-
gvk := schema.GroupVersionKind{Group: "apps", Version: "v1", Kind: "StatefulSet"}
111-
ownerRef := *metav1.NewControllerRef(persisted, gvk)
106+
ownerRef := *metav1.NewControllerRef(etcdStatefulSet, StatefulSetGVK)
112107
if err := pdb.EnsurePodDisruptionBudget(client, util.KarmadaEtcdName(name), namespace, cfg.CommonSettings.PodDisruptionBudgetConfig, etcdStatefulSet.Spec.Template.Labels, []metav1.OwnerReference{ownerRef}); err != nil {
113108
return fmt.Errorf("failed to ensure PDB for etcd component %s, err: %w", util.KarmadaEtcdName(name), err)
114109
}

operator/pkg/controlplane/metricsadapter/metricsadapter.go

Lines changed: 3 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -17,18 +17,17 @@ limitations under the License.
1717
package metricsadapter
1818

1919
import (
20-
"context"
2120
"fmt"
2221

2322
appsv1 "k8s.io/api/apps/v1"
2423
corev1 "k8s.io/api/core/v1"
2524
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
2625
kuberuntime "k8s.io/apimachinery/pkg/runtime"
27-
"k8s.io/apimachinery/pkg/runtime/schema"
2826
clientset "k8s.io/client-go/kubernetes"
2927
clientsetscheme "k8s.io/client-go/kubernetes/scheme"
3028

3129
operatorv1alpha1 "github.com/karmada-io/karmada/operator/pkg/apis/operator/v1alpha1"
30+
"github.com/karmada-io/karmada/operator/pkg/controlplane/apiserver"
3231
"github.com/karmada-io/karmada/operator/pkg/controlplane/pdb"
3332
"github.com/karmada-io/karmada/operator/pkg/util"
3433
"github.com/karmada-io/karmada/operator/pkg/util/apiclient"
@@ -71,18 +70,11 @@ func installKarmadaMetricAdapter(client clientset.Interface, cfg *operatorv1alph
7170
patcher.NewPatcher().WithAnnotations(cfg.Annotations).WithLabels(cfg.Labels).WithPriorityClassName(cfg.CommonSettings.PriorityClassName).
7271
WithResources(cfg.Resources).ForDeployment(metricAdapter)
7372

74-
if err := apiclient.CreateOrUpdateDeployment(client, metricAdapter); err != nil {
73+
if metricAdapter, err = apiclient.CreateOrUpdateDeployment(client, metricAdapter); err != nil {
7574
return fmt.Errorf("error when creating deployment for %s, err: %w", metricAdapter.Name, err)
7675
}
7776

78-
// Fetch persisted Deployment to get real UID
79-
persisted, err := client.AppsV1().Deployments(namespace).Get(context.TODO(), metricAdapter.GetName(), metav1.GetOptions{})
80-
if err != nil {
81-
return fmt.Errorf("failed to fetch Deployment %s/%s for PDB owner, err: %w", namespace, metricAdapter.GetName(), err)
82-
}
83-
// Ensure PDB for the metrics adapter component if configured
84-
gvk := schema.GroupVersionKind{Group: "apps", Version: "v1", Kind: "Deployment"}
85-
ownerRef := *metav1.NewControllerRef(persisted, gvk)
77+
ownerRef := *metav1.NewControllerRef(metricAdapter, apiserver.DeploymentGVK)
8678
if err := pdb.EnsurePodDisruptionBudget(client, util.KarmadaMetricsAdapterName(name), namespace, cfg.CommonSettings.PodDisruptionBudgetConfig, metricAdapter.Spec.Template.Labels, []metav1.OwnerReference{ownerRef}); err != nil {
8779
return fmt.Errorf("failed to ensure PDB for metrics adapter component %s, err: %w", util.KarmadaMetricsAdapterName(name), err)
8880
}

operator/pkg/controlplane/pdb/pdb.go

Lines changed: 5 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1313
See the License for the specific language governing permissions and
1414
limitations under the License.
1515
*/
16+
1617
package pdb
1718

1819
import (
@@ -40,11 +41,7 @@ func EnsurePodDisruptionBudget(client clientset.Interface, pdbName, namespace st
4041
return nil
4142
}
4243

43-
pdb, err := createPodDisruptionBudget(pdbName, namespace, pdbConfig, componentLabels, ownerRefs)
44-
if err != nil {
45-
return fmt.Errorf("failed to create PDB manifest for %s, err: %w", pdbName, err)
46-
}
47-
44+
pdb := buildPodDisruptionBudget(pdbName, namespace, pdbConfig, componentLabels, ownerRefs)
4845
if err := apiclient.CreateOrUpdatePodDisruptionBudget(client, pdb); err != nil {
4946
return fmt.Errorf("failed to create PDB resource for %s, err: %w", pdbName, err)
5047
}
@@ -53,8 +50,8 @@ func EnsurePodDisruptionBudget(client clientset.Interface, pdbName, namespace st
5350
return nil
5451
}
5552

56-
// createPodDisruptionBudget creates a PodDisruptionBudget manifest for the component
57-
func createPodDisruptionBudget(pdbName, namespace string, pdbConfig *operatorv1alpha1.PodDisruptionBudgetConfig, componentLabels map[string]string, ownerRefs []metav1.OwnerReference) (*policyv1.PodDisruptionBudget, error) {
53+
// buildPodDisruptionBudget returns a PodDisruptionBudget manifest for the component
54+
func buildPodDisruptionBudget(pdbName, namespace string, pdbConfig *operatorv1alpha1.PodDisruptionBudgetConfig, componentLabels map[string]string, ownerRefs []metav1.OwnerReference) *policyv1.PodDisruptionBudget {
5855
blockOwnerDeletion := true
5956
isController := true
6057

@@ -84,7 +81,7 @@ func createPodDisruptionBudget(pdbName, namespace string, pdbConfig *operatorv1a
8481
pdb.ObjectMeta.OwnerReferences[i].BlockOwnerDeletion = &blockOwnerDeletion
8582
}
8683

87-
return pdb, nil
84+
return pdb
8885
}
8986

9087
// deletePodDisruptionBudget deletes a PodDisruptionBudget if it exists

operator/pkg/controlplane/search/search.go

Lines changed: 3 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -17,18 +17,17 @@ limitations under the License.
1717
package search
1818

1919
import (
20-
"context"
2120
"fmt"
2221

2322
appsv1 "k8s.io/api/apps/v1"
2423
corev1 "k8s.io/api/core/v1"
2524
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
2625
kuberuntime "k8s.io/apimachinery/pkg/runtime"
27-
"k8s.io/apimachinery/pkg/runtime/schema"
2826
clientset "k8s.io/client-go/kubernetes"
2927
clientsetscheme "k8s.io/client-go/kubernetes/scheme"
3028

3129
operatorv1alpha1 "github.com/karmada-io/karmada/operator/pkg/apis/operator/v1alpha1"
30+
"github.com/karmada-io/karmada/operator/pkg/controlplane/apiserver"
3231
"github.com/karmada-io/karmada/operator/pkg/controlplane/etcd"
3332
"github.com/karmada-io/karmada/operator/pkg/controlplane/pdb"
3433
"github.com/karmada-io/karmada/operator/pkg/util"
@@ -78,17 +77,11 @@ func installKarmadaSearch(client clientset.Interface, cfg *operatorv1alpha1.Karm
7877
WithPriorityClassName(cfg.CommonSettings.PriorityClassName).
7978
WithExtraArgs(cfg.ExtraArgs).WithResources(cfg.Resources).ForDeployment(searchDeployment)
8079

81-
if err := apiclient.CreateOrUpdateDeployment(client, searchDeployment); err != nil {
80+
if searchDeployment, err = apiclient.CreateOrUpdateDeployment(client, searchDeployment); err != nil {
8281
return fmt.Errorf("error when creating deployment for %s, err: %w", searchDeployment.Name, err)
8382
}
8483

85-
// Fetch persisted Deployment to get real UID
86-
persisted, err := client.AppsV1().Deployments(namespace).Get(context.TODO(), searchDeployment.GetName(), metav1.GetOptions{})
87-
if err != nil {
88-
return fmt.Errorf("failed to fetch Deployment %s/%s for PDB owner, err: %w", namespace, searchDeployment.GetName(), err)
89-
}
90-
gvk := schema.GroupVersionKind{Group: "apps", Version: "v1", Kind: "Deployment"}
91-
ownerRef := *metav1.NewControllerRef(persisted, gvk)
84+
ownerRef := *metav1.NewControllerRef(searchDeployment, apiserver.DeploymentGVK)
9285
if err := pdb.EnsurePodDisruptionBudget(client, util.KarmadaSearchName(name), namespace, cfg.CommonSettings.PodDisruptionBudgetConfig, searchDeployment.Spec.Template.Labels, []metav1.OwnerReference{ownerRef}); err != nil {
9386
return fmt.Errorf("failed to ensure PDB for search component %s, err: %w", util.KarmadaSearchName(name), err)
9487
}

operator/pkg/controlplane/webhook/webhook.go

Lines changed: 3 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -17,18 +17,17 @@ limitations under the License.
1717
package webhook
1818

1919
import (
20-
"context"
2120
"fmt"
2221

2322
appsv1 "k8s.io/api/apps/v1"
2423
corev1 "k8s.io/api/core/v1"
2524
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
2625
kuberuntime "k8s.io/apimachinery/pkg/runtime"
27-
"k8s.io/apimachinery/pkg/runtime/schema"
2826
clientset "k8s.io/client-go/kubernetes"
2927
clientsetscheme "k8s.io/client-go/kubernetes/scheme"
3028

3129
operatorv1alpha1 "github.com/karmada-io/karmada/operator/pkg/apis/operator/v1alpha1"
30+
"github.com/karmada-io/karmada/operator/pkg/controlplane/apiserver"
3231
"github.com/karmada-io/karmada/operator/pkg/controlplane/pdb"
3332
"github.com/karmada-io/karmada/operator/pkg/util"
3433
"github.com/karmada-io/karmada/operator/pkg/util/apiclient"
@@ -73,17 +72,11 @@ func installKarmadaWebhook(client clientset.Interface, cfg *operatorv1alpha1.Kar
7372
WithPriorityClassName(cfg.CommonSettings.PriorityClassName).
7473
WithExtraArgs(cfg.ExtraArgs).WithFeatureGates(featureGates).WithResources(cfg.Resources).ForDeployment(webhookDeployment)
7574

76-
if err := apiclient.CreateOrUpdateDeployment(client, webhookDeployment); err != nil {
75+
if webhookDeployment, err = apiclient.CreateOrUpdateDeployment(client, webhookDeployment); err != nil {
7776
return fmt.Errorf("error when creating deployment for %s, err: %w", webhookDeployment.Name, err)
7877
}
7978

80-
// Fetch persisted Deployment to get real UID
81-
persisted, err := client.AppsV1().Deployments(namespace).Get(context.TODO(), webhookDeployment.GetName(), metav1.GetOptions{})
82-
if err != nil {
83-
return fmt.Errorf("failed to fetch Deployment %s/%s for PDB owner, err: %w", namespace, webhookDeployment.GetName(), err)
84-
}
85-
gvk := schema.GroupVersionKind{Group: "apps", Version: "v1", Kind: "Deployment"}
86-
ownerRef := *metav1.NewControllerRef(persisted, gvk)
79+
ownerRef := *metav1.NewControllerRef(webhookDeployment, apiserver.DeploymentGVK)
8780
if err := pdb.EnsurePodDisruptionBudget(client, util.KarmadaWebhookName(name), namespace, cfg.CommonSettings.PodDisruptionBudgetConfig, webhookDeployment.Spec.Template.Labels, []metav1.OwnerReference{ownerRef}); err != nil {
8881
return fmt.Errorf("failed to ensure PDB for webhook component %s, err: %w", util.KarmadaWebhookName(name), err)
8982
}

operator/pkg/tasks/deinit/component_test.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -109,7 +109,7 @@ func TestRunRemoveComponentSubTask(t *testing.T) {
109109

110110
// Create Karmada Controller Manager deployment with given labels.
111111
d.Labels = constants.KarmadaOperatorLabel
112-
if err := apiclient.CreateOrUpdateDeployment(client, d); err != nil {
112+
if _, err := apiclient.CreateOrUpdateDeployment(client, d); err != nil {
113113
return fmt.Errorf("failed to create deployment, got: %v", err)
114114
}
115115

@@ -201,7 +201,7 @@ func TestRunRemoveEtcd(t *testing.T) {
201201

202202
// Create Etcd statefulset with given labels.
203203
staetfulset.Labels = constants.KarmadaOperatorLabel
204-
if err := apiclient.CreateOrUpdateStatefulSet(client, staetfulset); err != nil {
204+
if _, err := apiclient.CreateOrUpdateStatefulSet(client, staetfulset); err != nil {
205205
return fmt.Errorf("failed to create statefulset, got: %v", err)
206206
}
207207

0 commit comments

Comments
 (0)