Skip to content

Commit f839e2f

Browse files
authored
Remove pre-upgrade check (#4217)
This check was only needed to prevent v2.0.0-beta4 from upgrading to v2.0.0 (GA). Since we're now moving towards version 2.10.0 the check is no longer needed. Usage of v2.0.0-beta4 at this point is very low. Fixes #3436
1 parent 9498d0a commit f839e2f

7 files changed

+7
-149
lines changed

v2/charts/azure-service-operator/templates/pre-release-hook/batch_v1_job_pre-upgrade-checker.yaml

Lines changed: 0 additions & 27 deletions
This file was deleted.

v2/charts/azure-service-operator/templates/pre-release-hook/rbac.authorization.k8s.io_v1_clusterrole_azureserviceoperator-pre-upgrade-checker-role.yaml

Lines changed: 0 additions & 20 deletions
This file was deleted.

v2/charts/azure-service-operator/templates/pre-release-hook/rbac.authorization.k8s.io_v1_clusterrolebinding_azureserviceoperator-pre-upgrade-checker-rolebinding.yaml

Lines changed: 0 additions & 16 deletions
This file was deleted.

v2/charts/azure-service-operator/templates/pre-release-hook/v1_serviceaccount_azureserviceoperator-pre-upgrade-checker.yaml

Lines changed: 0 additions & 9 deletions
This file was deleted.

v2/cmd/controller/app/flags.go

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -24,12 +24,11 @@ type Flags struct {
2424
EnableLeaderElection bool
2525
CRDManagementMode string
2626
CRDPatterns string // This is a ';' delimited string containing a collection of patterns
27-
PreUpgradeCheck bool
2827
}
2928

3029
func (f Flags) String() string {
3130
return fmt.Sprintf(
32-
"MetricsAddr: %s, SecureMetrics: %t, ProfilingMetrics: %t, HealthAddr: %s, WebhookPort: %d, WebhookCertDir: %s, EnableLeaderElection: %t, CRDManagementMode: %s, CRDPatterns: %s, PreUpgradeCheck: %t",
31+
"MetricsAddr: %s, SecureMetrics: %t, ProfilingMetrics: %t, HealthAddr: %s, WebhookPort: %d, WebhookCertDir: %s, EnableLeaderElection: %t, CRDManagementMode: %s, CRDPatterns: %s",
3332
f.MetricsAddr,
3433
f.SecureMetrics,
3534
f.ProfilingMetrics,
@@ -38,8 +37,7 @@ func (f Flags) String() string {
3837
f.WebhookCertDir,
3938
f.EnableLeaderElection,
4039
f.CRDManagementMode,
41-
f.CRDPatterns,
42-
f.PreUpgradeCheck)
40+
f.CRDPatterns)
4341
}
4442

4543
func ParseFlags(args []string) (Flags, error) {
@@ -56,7 +54,6 @@ func ParseFlags(args []string) (Flags, error) {
5654
var enableLeaderElection bool
5755
var crdManagementMode string
5856
var crdPatterns string
59-
var preUpgradeCheck bool
6057

6158
// default here for 'MetricsAddr' is set to "0", which sets metrics to be disabled if 'metrics-addr' flag is omitted.
6259
flagSet.StringVar(&metricsAddr, "metrics-addr", "0", "The address the metric endpoint binds to.")
@@ -71,8 +68,6 @@ func ParseFlags(args []string) (Flags, error) {
7168
flagSet.StringVar(&crdManagementMode, "crd-management", "auto",
7269
"Instructs the operator on how it should manage the Custom Resource Definitions. One of 'auto', 'none'")
7370
flagSet.StringVar(&crdPatterns, "crd-pattern", "", "Install these CRDs. CRDs already in the cluster will also always be upgraded.")
74-
flagSet.BoolVar(&preUpgradeCheck, "pre-upgrade-check", false,
75-
"Enable pre upgrade check to check if existing crds contain helm 'keep' policy.")
7671

7772
flagSet.Parse(args[1:]) //nolint:errcheck
7873

@@ -85,6 +80,5 @@ func ParseFlags(args []string) (Flags, error) {
8580
EnableLeaderElection: enableLeaderElection,
8681
CRDManagementMode: crdManagementMode,
8782
CRDPatterns: crdPatterns,
88-
PreUpgradeCheck: preUpgradeCheck,
8983
}, nil
9084
}

v2/cmd/controller/app/setup.go

Lines changed: 0 additions & 55 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,6 @@ import (
1212
"net/http"
1313
"net/http/pprof"
1414
"os"
15-
"regexp"
1615
"time"
1716

1817
"github.com/Azure/azure-sdk-for-go/sdk/azcore"
@@ -22,16 +21,12 @@ import (
2221
"github.com/pkg/errors"
2322
"golang.org/x/time/rate"
2423
apiextensions "k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1"
25-
apiextensionsclient "k8s.io/apiextensions-apiserver/pkg/client/clientset/clientset/typed/apiextensions/v1"
26-
v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
2724
"k8s.io/apimachinery/pkg/runtime"
28-
kerrors "k8s.io/apimachinery/pkg/util/errors"
2925
"k8s.io/client-go/rest"
3026
"k8s.io/client-go/util/workqueue"
3127
ctrl "sigs.k8s.io/controller-runtime"
3228
"sigs.k8s.io/controller-runtime/pkg/cache"
3329
"sigs.k8s.io/controller-runtime/pkg/client"
34-
clientconfig "sigs.k8s.io/controller-runtime/pkg/client/config"
3530
"sigs.k8s.io/controller-runtime/pkg/controller"
3631
"sigs.k8s.io/controller-runtime/pkg/healthz"
3732
"sigs.k8s.io/controller-runtime/pkg/manager"
@@ -40,7 +35,6 @@ import (
4035
"sigs.k8s.io/controller-runtime/pkg/reconcile"
4136
"sigs.k8s.io/controller-runtime/pkg/webhook"
4237

43-
"github.com/Azure/azure-service-operator/v2/api"
4438
"github.com/Azure/azure-service-operator/v2/internal/config"
4539
"github.com/Azure/azure-service-operator/v2/internal/controllers"
4640
"github.com/Azure/azure-service-operator/v2/internal/crdmanagement"
@@ -58,55 +52,6 @@ import (
5852
"github.com/Azure/azure-service-operator/v2/pkg/genruntime/conditions"
5953
)
6054

61-
func SetupPreUpgradeCheck(ctx context.Context) error {
62-
cfg, err := clientconfig.GetConfig()
63-
if err != nil {
64-
return errors.Wrap(err, "unable to get client config")
65-
}
66-
67-
apiExtClient, err := apiextensionsclient.NewForConfig(cfg)
68-
if err != nil {
69-
return errors.Wrap(err, "unable to create kubernetes client")
70-
}
71-
72-
// Had to list CRDs this way and not with crdManager, since we did not have "serviceoperator.azure.com/version" labels in earlier versions.
73-
list, err := apiExtClient.CustomResourceDefinitions().List(ctx, v1.ListOptions{})
74-
if err != nil {
75-
return errors.Wrap(err, "failed to list CRDs")
76-
}
77-
78-
scheme := api.CreateScheme()
79-
crdRegexp := regexp.MustCompile(`.*\.azure\.com`)
80-
var errs []error
81-
for _, crd := range list.Items {
82-
crd := crd
83-
if !crdRegexp.MatchString(crd.Name) {
84-
continue
85-
}
86-
87-
if !scheme.Recognizes(crd.GroupVersionKind()) {
88-
// Not one of our resources
89-
continue
90-
}
91-
92-
// If this CRD is annotated with "serviceoperator.azure.com/version", it must be >=2.0.0 and so safe
93-
// as we didn't start using this label until 2.0.0. Same with "app.kubernetes.io/version" which was added in 2.3.0
94-
// in favor of our custom serviceoperator.azure.com
95-
_, hasOldLabel := crd.Labels[crdmanagement.ServiceOperatorVersionLabelOld]
96-
_, hasNewLabel := crd.Labels[crdmanagement.ServiceOperatorVersionLabel]
97-
if hasOldLabel || hasNewLabel {
98-
continue
99-
}
100-
101-
if policy, ok := crd.Annotations["helm.sh/resource-policy"]; !ok || policy != "keep" {
102-
err = errors.New(fmt.Sprintf("CRD '%s' does not have annotation for helm keep policy. Make sure the upgrade is from beta.5", crd.Name))
103-
errs = append(errs, err)
104-
}
105-
}
106-
107-
return kerrors.NewAggregate(errs)
108-
}
109-
11055
func SetupControllerManager(ctx context.Context, setupLog logr.Logger, flgs Flags) manager.Manager {
11156
scheme := controllers.CreateScheme()
11257
_ = apiextensions.AddToScheme(scheme) // Used for managing CRDs

v2/cmd/controller/main.go

Lines changed: 5 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -27,19 +27,10 @@ func main() {
2727
}
2828

2929
setupLog.Info("Launching with flags", "flags", flgs.String())
30-
31-
if flgs.PreUpgradeCheck {
32-
err = app.SetupPreUpgradeCheck(ctx)
33-
if err != nil {
34-
setupLog.Error(err, "pre-upgrade check failed")
35-
os.Exit(1)
36-
}
37-
} else {
38-
mgr := app.SetupControllerManager(ctx, setupLog, flgs)
39-
setupLog.Info("starting manager")
40-
if err = mgr.Start(ctx); err != nil {
41-
setupLog.Error(err, "failed to start manager")
42-
os.Exit(1)
43-
}
30+
mgr := app.SetupControllerManager(ctx, setupLog, flgs)
31+
setupLog.Info("starting manager")
32+
if err = mgr.Start(ctx); err != nil {
33+
setupLog.Error(err, "failed to start manager")
34+
os.Exit(1)
4435
}
4536
}

0 commit comments

Comments
 (0)