diff --git a/PROJECT b/PROJECT index e5a05148151..f97bd350815 100644 --- a/PROJECT +++ b/PROJECT @@ -22,7 +22,7 @@ resources: kind: EventhubNamespace - group: azure version: v1alpha1 - kind: SqlServer + kind: AzureSqlServer - group: azure version: v1alpha1 kind: SqlDatabase diff --git a/api/v1alpha1/sqlserver_types.go b/api/v1alpha1/azuresqlserver_types.go similarity index 71% rename from api/v1alpha1/sqlserver_types.go rename to api/v1alpha1/azuresqlserver_types.go index 4ec71a9a459..aa8cae11e4b 100644 --- a/api/v1alpha1/sqlserver_types.go +++ b/api/v1alpha1/azuresqlserver_types.go @@ -22,16 +22,16 @@ import ( // EDIT THIS FILE! THIS IS SCAFFOLDING FOR YOU TO OWN! // NOTE: json tags are required. Any new fields you add must have json tags for the fields to be serialized. -// SqlServerSpec defines the desired state of SqlServer -type SqlServerSpec struct { +// AzureSqlServerSpec defines the desired state of AzureSqlServer +type AzureSqlServerSpec struct { // INSERT ADDITIONAL SPEC FIELDS - desired state of cluster // Important: Run "make" to regenerate code after modifying this file Location string `json:"location"` ResourceGroup string `json:"resourcegroup,omitempty"` } -// SqlServerStatus defines the observed state of SqlServer -type SqlServerStatus struct { +// AzureSqlServerStatus defines the observed state of AzureSqlServer +type AzureSqlServerStatus struct { // INSERT ADDITIONAL STATUS FIELD - define observed state of cluster // Important: Run "make" to regenerate code after modifying this file Provisioning bool `json:"provisioning,omitempty"` @@ -42,32 +42,32 @@ type SqlServerStatus struct { // +kubebuilder:object:root=true // +kubebuilder:subresource:status -// SqlServer is the Schema for the sqlservers API -type SqlServer struct { +// AzureSqlServer is the Schema for the azuresqlservers API +type AzureSqlServer struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` - Spec SqlServerSpec `json:"spec,omitempty"` - Status SqlServerStatus `json:"status,omitempty"` + Spec AzureSqlServerSpec `json:"spec,omitempty"` + Status AzureSqlServerStatus `json:"status,omitempty"` } // +kubebuilder:object:root=true -// SqlServerList contains a list of SqlServer -type SqlServerList struct { +// AzureSqlServerList contains a list of AzureSqlServer +type AzureSqlServerList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` - Items []SqlServer `json:"items"` + Items []AzureSqlServer `json:"items"` } func init() { - SchemeBuilder.Register(&SqlServer{}, &SqlServerList{}) + SchemeBuilder.Register(&AzureSqlServer{}, &AzureSqlServerList{}) } -func (s *SqlServer) IsSubmitted() bool { +func (s *AzureSqlServer) IsSubmitted() bool { return s.Status.Provisioned || s.Status.Provisioning } -func (s *SqlServer) IsProvisioned() bool { +func (s *AzureSqlServer) IsProvisioned() bool { return s.Status.Provisioned } diff --git a/api/v1alpha1/sqlserver_types_test.go b/api/v1alpha1/azuresqlserver_types_test.go similarity index 92% rename from api/v1alpha1/sqlserver_types_test.go rename to api/v1alpha1/azuresqlserver_types_test.go index e6dfcbcda7d..09e5d413bae 100644 --- a/api/v1alpha1/sqlserver_types_test.go +++ b/api/v1alpha1/azuresqlserver_types_test.go @@ -27,10 +27,10 @@ import ( // These tests are written in BDD-style using Ginkgo framework. Refer to // http://onsi.github.io/ginkgo to learn more. -var _ = Describe("SqlServer", func() { +var _ = Describe("AzureSqlServer", func() { var ( key types.NamespacedName - created, fetched *SqlServer + created, fetched *AzureSqlServer ) BeforeEach(func() { @@ -53,12 +53,12 @@ var _ = Describe("SqlServer", func() { Name: "foo", Namespace: "default", } - created = &SqlServer{ + created = &AzureSqlServer{ ObjectMeta: metav1.ObjectMeta{ Name: "foo", Namespace: "default", }, - Spec: SqlServerSpec{ + Spec: AzureSqlServerSpec{ Location: "westus", ResourceGroup: "foo-resourcegroup", }} @@ -66,7 +66,7 @@ var _ = Describe("SqlServer", func() { By("creating an API obj") Expect(k8sClient.Create(context.TODO(), created)).To(Succeed()) - fetched = &SqlServer{} + fetched = &AzureSqlServer{} Expect(k8sClient.Get(context.TODO(), key, fetched)).To(Succeed()) Expect(fetched).To(Equal(created)) diff --git a/api/v1alpha1/zz_generated.deepcopy.go b/api/v1alpha1/zz_generated.deepcopy.go index d341a9b8870..79857792847 100644 --- a/api/v1alpha1/zz_generated.deepcopy.go +++ b/api/v1alpha1/zz_generated.deepcopy.go @@ -112,6 +112,95 @@ func (in *AzureSqlActionStatus) DeepCopy() *AzureSqlActionStatus { return out } +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AzureSqlServer) DeepCopyInto(out *AzureSqlServer) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ObjectMeta.DeepCopyInto(&out.ObjectMeta) + out.Spec = in.Spec + out.Status = in.Status +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AzureSqlServer. +func (in *AzureSqlServer) DeepCopy() *AzureSqlServer { + if in == nil { + return nil + } + out := new(AzureSqlServer) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *AzureSqlServer) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AzureSqlServerList) DeepCopyInto(out *AzureSqlServerList) { + *out = *in + out.TypeMeta = in.TypeMeta + out.ListMeta = in.ListMeta + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]AzureSqlServer, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AzureSqlServerList. +func (in *AzureSqlServerList) DeepCopy() *AzureSqlServerList { + if in == nil { + return nil + } + out := new(AzureSqlServerList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *AzureSqlServerList) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AzureSqlServerSpec) DeepCopyInto(out *AzureSqlServerSpec) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AzureSqlServerSpec. +func (in *AzureSqlServerSpec) DeepCopy() *AzureSqlServerSpec { + if in == nil { + return nil + } + out := new(AzureSqlServerSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AzureSqlServerStatus) DeepCopyInto(out *AzureSqlServerStatus) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AzureSqlServerStatus. +func (in *AzureSqlServerStatus) DeepCopy() *AzureSqlServerStatus { + if in == nil { + return nil + } + out := new(AzureSqlServerStatus) + in.DeepCopyInto(out) + return out +} + // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *CaptureDescription) DeepCopyInto(out *CaptureDescription) { *out = *in @@ -1164,95 +1253,6 @@ func (in *SqlFirewallRuleStatus) DeepCopy() *SqlFirewallRuleStatus { return out } -// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *SqlServer) DeepCopyInto(out *SqlServer) { - *out = *in - out.TypeMeta = in.TypeMeta - in.ObjectMeta.DeepCopyInto(&out.ObjectMeta) - out.Spec = in.Spec - out.Status = in.Status -} - -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SqlServer. -func (in *SqlServer) DeepCopy() *SqlServer { - if in == nil { - return nil - } - out := new(SqlServer) - in.DeepCopyInto(out) - return out -} - -// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. -func (in *SqlServer) DeepCopyObject() runtime.Object { - if c := in.DeepCopy(); c != nil { - return c - } - return nil -} - -// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *SqlServerList) DeepCopyInto(out *SqlServerList) { - *out = *in - out.TypeMeta = in.TypeMeta - out.ListMeta = in.ListMeta - if in.Items != nil { - in, out := &in.Items, &out.Items - *out = make([]SqlServer, len(*in)) - for i := range *in { - (*in)[i].DeepCopyInto(&(*out)[i]) - } - } -} - -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SqlServerList. -func (in *SqlServerList) DeepCopy() *SqlServerList { - if in == nil { - return nil - } - out := new(SqlServerList) - in.DeepCopyInto(out) - return out -} - -// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. -func (in *SqlServerList) DeepCopyObject() runtime.Object { - if c := in.DeepCopy(); c != nil { - return c - } - return nil -} - -// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *SqlServerSpec) DeepCopyInto(out *SqlServerSpec) { - *out = *in -} - -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SqlServerSpec. -func (in *SqlServerSpec) DeepCopy() *SqlServerSpec { - if in == nil { - return nil - } - out := new(SqlServerSpec) - in.DeepCopyInto(out) - return out -} - -// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. -func (in *SqlServerStatus) DeepCopyInto(out *SqlServerStatus) { - *out = *in -} - -// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SqlServerStatus. -func (in *SqlServerStatus) DeepCopy() *SqlServerStatus { - if in == nil { - return nil - } - out := new(SqlServerStatus) - in.DeepCopyInto(out) - return out -} - // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *Storage) DeepCopyInto(out *Storage) { *out = *in diff --git a/config/crd/kustomization.yaml b/config/crd/kustomization.yaml index 51cce96d489..ee8f938fd62 100644 --- a/config/crd/kustomization.yaml +++ b/config/crd/kustomization.yaml @@ -10,7 +10,7 @@ resources: - bases/azure.microsoft.com_eventhubnamespaces.yaml - bases/azure.microsoft.com_consumergroups.yaml - bases/azure.microsoft.com_keyvaults.yaml -- bases/azure.microsoft.com_sqlservers.yaml +- bases/azure.microsoft.com_azuresqlservers.yaml - bases/azure.microsoft.com_sqldatabases.yaml - bases/azure.microsoft.com_sqlfirewallrules.yaml - bases/azure.microsoft.com_azuresqlactions.yaml @@ -23,7 +23,7 @@ patches: #- patches/webhook_in_eventhubnamespaces.yaml #- patches/webhook_in_consumergroups.yaml #- patches/webhook_in_keyvaults.yaml -#- patches/webhook_in_sqlservers.yaml +#- patches/webhook_in_azuresqlservers.yaml #- patches/webhook_in_sqldatabases.yaml #- patches/webhook_in_sqlfirewallrules.yaml #- patches/webhook_in_azuresqlactions.yaml @@ -35,7 +35,7 @@ patches: #- patches/cainjection_in_eventhubnamespaces.yaml #- patches/cainjection_in_consumergroups.yaml #- patches/cainjection_in_keyvaults.yaml -#- patches/cainjection_in_sqlservers.yaml +#- patches/cainjection_in_azuresqlservers.yaml #- patches/cainjection_in_sqldatabases.yaml #- patches/cainjection_in_sqlfirewallrules.yaml #- patches/cainjection_in_azuresqlactions.yaml diff --git a/config/crd/patches/cainjection_in_sqlservers.yaml b/config/crd/patches/cainjection_in_azuresqlservers.yaml similarity index 87% rename from config/crd/patches/cainjection_in_sqlservers.yaml rename to config/crd/patches/cainjection_in_azuresqlservers.yaml index 21f5baa3375..b69ce6092ea 100644 --- a/config/crd/patches/cainjection_in_sqlservers.yaml +++ b/config/crd/patches/cainjection_in_azuresqlservers.yaml @@ -5,4 +5,4 @@ kind: CustomResourceDefinition metadata: annotations: certmanager.k8s.io/inject-ca-from: $(CERTIFICATE_NAMESPACE)/$(CERTIFICATE_NAME) - name: sqlservers.azure.microsoft.com + name: azuresqlservers.azure.microsoft.com diff --git a/config/crd/patches/webhook_in_sqlservers.yaml b/config/crd/patches/webhook_in_azuresqlservers.yaml similarity index 93% rename from config/crd/patches/webhook_in_sqlservers.yaml rename to config/crd/patches/webhook_in_azuresqlservers.yaml index c87ac0e15ce..4f1b8b07f8a 100644 --- a/config/crd/patches/webhook_in_sqlservers.yaml +++ b/config/crd/patches/webhook_in_azuresqlservers.yaml @@ -3,7 +3,7 @@ apiVersion: apiextensions.k8s.io/v1beta1 kind: CustomResourceDefinition metadata: - name: sqlservers.azure.microsoft.com + name: azuresqlservers.azure.microsoft.com spec: conversion: strategy: Webhook diff --git a/config/samples/azure_v1alpha1_sqlserver.yaml b/config/samples/azure_v1alpha1_azuresqlserver.yaml similarity index 76% rename from config/samples/azure_v1alpha1_sqlserver.yaml rename to config/samples/azure_v1alpha1_azuresqlserver.yaml index b92552a3aba..e8fc09db9d3 100644 --- a/config/samples/azure_v1alpha1_sqlserver.yaml +++ b/config/samples/azure_v1alpha1_azuresqlserver.yaml @@ -1,7 +1,7 @@ apiVersion: azure.microsoft.com/v1alpha1 -kind: SqlServer +kind: AzureSqlServer metadata: name: sqlserver-sample-777 spec: - location: "westus" + location: westus resourcegroup: resourcegroup-azure-operators diff --git a/controllers/azuresqlaction_controller.go b/controllers/azuresqlaction_controller.go index 24722572092..dcb3ba8c9e2 100644 --- a/controllers/azuresqlaction_controller.go +++ b/controllers/azuresqlaction_controller.go @@ -129,8 +129,8 @@ func (r *AzureSqlActionReconciler) reconcileExternal(instance *azurev1alpha1.Azu server, err := sdkClient.GetServer() if err != nil { if strings.Contains(err.Error(), "ResourceGroupNotFound") { - r.Recorder.Event(instance, corev1.EventTypeWarning, "Failed", "Unable to get instance of SqlServer: Resource group not found") - r.Log.Info("Error", "Unable to get instance of SqlServer: Resource group not found", err) + r.Recorder.Event(instance, corev1.EventTypeWarning, "Failed", "Unable to get instance of AzureSqlServer: Resource group not found") + r.Log.Info("Error", "Unable to get instance of AzureSqlServer: Resource group not found", err) instance.Status.Message = "Resource group not found" // write information back to instance if updateerr := r.Status().Update(ctx, instance); updateerr != nil { @@ -138,7 +138,7 @@ func (r *AzureSqlActionReconciler) reconcileExternal(instance *azurev1alpha1.Azu } return err } else { - r.Recorder.Event(instance, corev1.EventTypeWarning, "Failed", "Unable to get instance of SqlServer") + r.Recorder.Event(instance, corev1.EventTypeWarning, "Failed", "Unable to get instance of AzureSqlServer") r.Log.Info("Error", "Sql Server instance not found", err) instance.Status.Message = "Sql server instance not found" // write information back to instance @@ -153,16 +153,16 @@ func (r *AzureSqlActionReconciler) reconcileExternal(instance *azurev1alpha1.Azu // rollcreds action if strings.ToLower(instance.Spec.ActionName) == "rollcreds" { - sqlServerProperties := sql.SQLServerProperties{ + azureSqlServerProperties := sql.SQLServerProperties{ AdministratorLogin: server.ServerProperties.AdministratorLogin, AdministratorLoginPassword: server.ServerProperties.AdministratorLoginPassword, } // Generate a new password newPassword, _ := generateRandomPassword(passwordLength) - sqlServerProperties.AdministratorLoginPassword = to.StringPtr(newPassword) + azureSqlServerProperties.AdministratorLoginPassword = to.StringPtr(newPassword) - if _, err := sdkClient.CreateOrUpdateSQLServer(sqlServerProperties); err != nil { + if _, err := sdkClient.CreateOrUpdateSQLServer(azureSqlServerProperties); err != nil { if !strings.Contains(err.Error(), "not complete") { r.Recorder.Event(instance, corev1.EventTypeWarning, "Failed", "Unable to provision or update instance") return errhelp.NewAzureError(err) @@ -182,7 +182,7 @@ func (r *AzureSqlActionReconciler) reconcileExternal(instance *azurev1alpha1.Azu _, createOrUpdateSecretErr := controllerutil.CreateOrUpdate(context.Background(), r.Client, secret, func() error { r.Log.Info("Creating or updating secret with SQL Server credentials") - secret.Data["password"] = []byte(*sqlServerProperties.AdministratorLoginPassword) + secret.Data["password"] = []byte(*azureSqlServerProperties.AdministratorLoginPassword) return nil }) if createOrUpdateSecretErr != nil { diff --git a/controllers/sqlserver_controller.go b/controllers/azuresqlserver_controller.go similarity index 86% rename from controllers/sqlserver_controller.go rename to controllers/azuresqlserver_controller.go index fd4034711e8..471a8b8384b 100644 --- a/controllers/sqlserver_controller.go +++ b/controllers/azuresqlserver_controller.go @@ -40,8 +40,8 @@ import ( "k8s.io/apimachinery/pkg/types" ) -// SqlServerReconciler reconciles a SqlServer object -type SqlServerReconciler struct { +// AzureSqlServerReconciler reconciles an AzureSqlServer object +type AzureSqlServerReconciler struct { client.Client Log logr.Logger Recorder record.EventRecorder @@ -56,13 +56,13 @@ const maxUsernameAllowedLength = 63 const minPasswordAllowedLength = 8 const maxPasswordAllowedLength = 128 -// +kubebuilder:rbac:groups=azure.microsoft.com,resources=sqlservers,verbs=get;list;watch;create;update;patch;delete -// +kubebuilder:rbac:groups=azure.microsoft.com,resources=sqlservers/status,verbs=get;update;patch +// +kubebuilder:rbac:groups=azure.microsoft.com,resources=azuresqlservers,verbs=get;list;watch;create;update;patch;delete +// +kubebuilder:rbac:groups=azure.microsoft.com,resources=azuresqlservers/status,verbs=get;update;patch -func (r *SqlServerReconciler) Reconcile(req ctrl.Request) (ctrl.Result, error) { +func (r *AzureSqlServerReconciler) Reconcile(req ctrl.Request) (ctrl.Result, error) { ctx := context.Background() - log := r.Log.WithValues("sqlserver", req.NamespacedName) - var instance azurev1alpha1.SqlServer + log := r.Log.WithValues("azuresqlserver", req.NamespacedName) + var instance azurev1alpha1.AzureSqlServer if err := r.Get(ctx, req.NamespacedName, &instance); err != nil { log.Info("Unable to retrieve sql-server resource", "err", err.Error()) @@ -73,7 +73,7 @@ func (r *SqlServerReconciler) Reconcile(req ctrl.Request) (ctrl.Result, error) { } if helpers.IsBeingDeleted(&instance) { - if helpers.HasFinalizer(&instance, SQLServerFinalizerName) { + if helpers.HasFinalizer(&instance, AzureSQLServerFinalizerName) { if err := r.deleteExternal(&instance); err != nil { catch := []string{ errhelp.AsyncOpIncompleteError, @@ -84,12 +84,12 @@ func (r *SqlServerReconciler) Reconcile(req ctrl.Request) (ctrl.Result, error) { return ctrl.Result{Requeue: true, RequeueAfter: 30 * time.Second}, nil } } - log.Info("Delete SqlServer failed with ", "error", err.Error()) + log.Info("Delete AzureSqlServer failed with ", "error", err.Error()) return ctrl.Result{}, err } - helpers.RemoveFinalizer(&instance, SQLServerFinalizerName) + helpers.RemoveFinalizer(&instance, AzureSQLServerFinalizerName) if err := r.Update(context.Background(), &instance); err != nil { return ctrl.Result{}, err } @@ -97,9 +97,9 @@ func (r *SqlServerReconciler) Reconcile(req ctrl.Request) (ctrl.Result, error) { return ctrl.Result{}, nil } - if !helpers.HasFinalizer(&instance, SQLServerFinalizerName) { + if !helpers.HasFinalizer(&instance, AzureSQLServerFinalizerName) { if err := r.addFinalizer(&instance); err != nil { - log.Info("Adding SqlServer finalizer failed with ", "error", err.Error()) + log.Info("Adding AzureSqlServer finalizer failed with ", "error", err.Error()) return ctrl.Result{}, err } } @@ -171,17 +171,17 @@ func (r *SqlServerReconciler) Reconcile(req ctrl.Request) (ctrl.Result, error) { return ctrl.Result{}, fmt.Errorf("error verifying sql server in azure: %v", err) } - r.Recorder.Event(&instance, v1.EventTypeNormal, "Provisioned", "sqlserver "+instance.ObjectMeta.Name+" provisioned ") + r.Recorder.Event(&instance, v1.EventTypeNormal, "Provisioned", "azuresqlserver "+instance.ObjectMeta.Name+" provisioned ") return ctrl.Result{}, nil } -func (r *SqlServerReconciler) SetupWithManager(mgr ctrl.Manager) error { +func (r *AzureSqlServerReconciler) SetupWithManager(mgr ctrl.Manager) error { return ctrl.NewControllerManagedBy(mgr). - For(&azurev1alpha1.SqlServer{}). + For(&azurev1alpha1.AzureSqlServer{}). Complete(r) } -func (r *SqlServerReconciler) reconcileExternal(instance *azurev1alpha1.SqlServer) error { +func (r *AzureSqlServerReconciler) reconcileExternal(instance *azurev1alpha1.AzureSqlServer) error { ctx := context.Background() location := instance.Spec.Location name := instance.ObjectMeta.Name @@ -196,14 +196,14 @@ func (r *SqlServerReconciler) reconcileExternal(instance *azurev1alpha1.SqlServe // Check to see if secret already exists for admin username/password secret, _ := r.GetOrPrepareSecret(instance) - sqlServerProperties := sql.SQLServerProperties{ + azureSqlServerProperties := sql.SQLServerProperties{ AdministratorLogin: to.StringPtr(string(secret.Data["username"])), AdministratorLoginPassword: to.StringPtr(string(secret.Data["password"])), } // create the sql server instance.Status.Provisioning = true - if _, err := sdkClient.CreateOrUpdateSQLServer(sqlServerProperties); err != nil { + if _, err := sdkClient.CreateOrUpdateSQLServer(azureSqlServerProperties); err != nil { if !strings.Contains(err.Error(), "not complete") { instance.Status.Message = fmt.Sprintf("CreateOrUpdateSQLServer not complete: %v", err) @@ -245,7 +245,7 @@ func (r *SqlServerReconciler) reconcileExternal(instance *azurev1alpha1.SqlServe return nil } -func (r *SqlServerReconciler) verifyExternal(instance *azurev1alpha1.SqlServer) error { +func (r *AzureSqlServerReconciler) verifyExternal(instance *azurev1alpha1.AzureSqlServer) error { ctx := context.Background() location := instance.Spec.Location name := instance.ObjectMeta.Name @@ -275,7 +275,7 @@ func (r *SqlServerReconciler) verifyExternal(instance *azurev1alpha1.SqlServer) if instance.Status.State == "Ready" { instance.Status.Provisioned = true instance.Status.Provisioning = false - instance.Status.Message = "SqlServer successfully provisioned" + instance.Status.Message = "AzureSqlServer successfully provisioned" } // write information back to instance @@ -287,7 +287,7 @@ func (r *SqlServerReconciler) verifyExternal(instance *azurev1alpha1.SqlServer) return errhelp.NewAzureError(err) } -func (r *SqlServerReconciler) deleteExternal(instance *azurev1alpha1.SqlServer) error { +func (r *AzureSqlServerReconciler) deleteExternal(instance *azurev1alpha1.AzureSqlServer) error { ctx := context.Background() name := instance.ObjectMeta.Name groupName := instance.Spec.ResourceGroup @@ -314,7 +314,7 @@ func (r *SqlServerReconciler) deleteExternal(instance *azurev1alpha1.SqlServer) return nil } -func (r *SqlServerReconciler) GetOrPrepareSecret(instance *azurev1alpha1.SqlServer) (*v1.Secret, error) { +func (r *AzureSqlServerReconciler) GetOrPrepareSecret(instance *azurev1alpha1.AzureSqlServer) (*v1.Secret, error) { name := instance.ObjectMeta.Name secret := &v1.Secret{ @@ -327,7 +327,7 @@ func (r *SqlServerReconciler) GetOrPrepareSecret(instance *azurev1alpha1.SqlServ "username": []byte(""), "fullyqualifiedusername": []byte(""), "password": []byte(""), - "sqlservername": []byte(""), + "azuresqlservername": []byte(""), "fullyqualifiedservername": []byte(""), }, Type: "Opaque", @@ -345,13 +345,13 @@ func (r *SqlServerReconciler) GetOrPrepareSecret(instance *azurev1alpha1.SqlServ usernameSuffix := "@" + name servernameSuffix := ".database.windows.net" - fullyQualifiedAdminUsername := randomUsername + usernameSuffix // "@"" - fullyQualifiedServername := name + servernameSuffix // ".database.windows.net" + fullyQualifiedAdminUsername := randomUsername + usernameSuffix // "@"" + fullyQualifiedServername := name + servernameSuffix // ".database.windows.net" secret.Data["username"] = []byte(randomUsername) secret.Data["fullyqualifiedusername"] = []byte(fullyQualifiedAdminUsername) secret.Data["password"] = []byte(randomPassword) - secret.Data["sqlservername"] = []byte(name) + secret.Data["azuresqlservername"] = []byte(name) secret.Data["fullyqualifiedservername"] = []byte(fullyQualifiedServername) if err := r.Get(context.Background(), types.NamespacedName{Name: name, Namespace: instance.Namespace}, secret); err == nil { diff --git a/controllers/sqlserver_controller_finalizer.go b/controllers/azuresqlserver_controller_finalizer.go similarity index 77% rename from controllers/sqlserver_controller_finalizer.go rename to controllers/azuresqlserver_controller_finalizer.go index e232f142fa1..d1fabae3029 100644 --- a/controllers/sqlserver_controller_finalizer.go +++ b/controllers/azuresqlserver_controller_finalizer.go @@ -24,13 +24,13 @@ import ( helpers "github.com/Azure/azure-service-operator/pkg/helpers" ) -const SQLServerFinalizerName = "sqlserver.finalizers.azure.com" +const AzureSQLServerFinalizerName = "azuresqlserver.finalizers.azure.com" -func (r *SqlServerReconciler) addFinalizer(instance *azurev1alpha1.SqlServer) error { - helpers.AddFinalizer(instance, SQLServerFinalizerName) +func (r *AzureSqlServerReconciler) addFinalizer(instance *azurev1alpha1.AzureSqlServer) error { + helpers.AddFinalizer(instance, AzureSQLServerFinalizerName) if updateerr := r.Update(context.Background(), instance); updateerr != nil { r.Recorder.Event(instance, "Warning", "Failed", "Failed to update finalizer") } - r.Recorder.Event(instance, "Normal", "Updated", fmt.Sprintf("finalizer %s added", SQLServerFinalizerName)) + r.Recorder.Event(instance, "Normal", "Updated", fmt.Sprintf("finalizer %s added", AzureSQLServerFinalizerName)) return nil } diff --git a/controllers/sqldatabase_controller.go b/controllers/sqldatabase_controller.go index 1dc848c8a29..6d65bc1aaca 100644 --- a/controllers/sqldatabase_controller.go +++ b/controllers/sqldatabase_controller.go @@ -141,19 +141,19 @@ func (r *SqlDatabaseReconciler) reconcileExternal(instance *azurev1alpha1.SqlDat r.Log.Info("Calling createorupdate SQL database") // instance.Status.Provisioning = true - //get owner instance of SqlServer - r.Recorder.Event(instance, corev1.EventTypeNormal, "UpdatingOwner", "Updating owner SqlServer instance") - var ownerInstance azurev1alpha1.SqlServer - sqlServerNamespacedName := types.NamespacedName{Name: server, Namespace: instance.Namespace} - err := r.Get(ctx, sqlServerNamespacedName, &ownerInstance) + //get owner instance of AzureSqlServer + r.Recorder.Event(instance, corev1.EventTypeNormal, "UpdatingOwner", "Updating owner AzureSqlServer instance") + var ownerInstance azurev1alpha1.AzureSqlServer + azureSqlServerNamespacedName := types.NamespacedName{Name: server, Namespace: instance.Namespace} + err := r.Get(ctx, azureSqlServerNamespacedName, &ownerInstance) if err != nil { //log error and kill it, as the parent might not exist in the cluster. It could have been created elsewhere or through the portal directly - r.Recorder.Event(instance, corev1.EventTypeWarning, "Failed", "Unable to get owner instance of SqlServer") + r.Recorder.Event(instance, corev1.EventTypeWarning, "Failed", "Unable to get owner instance of AzureSqlServer") } else { r.Recorder.Event(instance, corev1.EventTypeNormal, "OwnerAssign", "Got owner instance of Sql Server and assigning controller reference now") innerErr := controllerutil.SetControllerReference(&ownerInstance, instance, r.Scheme) if innerErr != nil { - r.Recorder.Event(instance, corev1.EventTypeWarning, "Failed", "Unable to set controller reference to SqlServer") + r.Recorder.Event(instance, corev1.EventTypeWarning, "Failed", "Unable to set controller reference to AzureSqlServer") } r.Recorder.Event(instance, corev1.EventTypeNormal, "OwnerAssign", "Owner instance assigned successfully") } diff --git a/controllers/sqlfirewallrule_controller.go b/controllers/sqlfirewallrule_controller.go index 591b354cc92..605f7ba3415 100644 --- a/controllers/sqlfirewallrule_controller.go +++ b/controllers/sqlfirewallrule_controller.go @@ -133,19 +133,19 @@ func (r *SqlFirewallRuleReconciler) reconcileExternal(instance *azurev1alpha1.Sq r.Log.Info("Calling createorupdate SQL firewall rule") - //get owner instance of SqlServer - r.Recorder.Event(instance, corev1.EventTypeNormal, "UpdatingOwner", "Updating owner SqlServer instance") - var ownerInstance azurev1alpha1.SqlServer - sqlServerNamespacedName := types.NamespacedName{Name: server, Namespace: instance.Namespace} - err := r.Get(ctx, sqlServerNamespacedName, &ownerInstance) + //get owner instance of AzureSqlServer + r.Recorder.Event(instance, corev1.EventTypeNormal, "UpdatingOwner", "Updating owner AzureSqlServer instance") + var ownerInstance azurev1alpha1.AzureSqlServer + azureSqlServerNamespacedName := types.NamespacedName{Name: server, Namespace: instance.Namespace} + err := r.Get(ctx, azureSqlServerNamespacedName, &ownerInstance) if err != nil { //log error and kill it, as the parent might not exist in the cluster. It could have been created elsewhere or through the portal directly - r.Recorder.Event(instance, corev1.EventTypeWarning, "Failed", "Unable to get owner instance of SqlServer") + r.Recorder.Event(instance, corev1.EventTypeWarning, "Failed", "Unable to get owner instance of AzureSqlServer") } else { r.Recorder.Event(instance, corev1.EventTypeNormal, "OwnerAssign", "Got owner instance of Sql Server and assigning controller reference now") innerErr := controllerutil.SetControllerReference(&ownerInstance, instance, r.Scheme) if innerErr != nil { - r.Recorder.Event(instance, corev1.EventTypeWarning, "Failed", "Unable to set controller reference to SqlServer") + r.Recorder.Event(instance, corev1.EventTypeWarning, "Failed", "Unable to set controller reference to AzureSqlServer") } r.Recorder.Event(instance, corev1.EventTypeNormal, "OwnerAssign", "Owner instance assigned successfully") } diff --git a/main.go b/main.go index 07d804cdd4a..56b77257fb4 100644 --- a/main.go +++ b/main.go @@ -171,13 +171,13 @@ func main() { os.Exit(1) } - if err = (&controllers.SqlServerReconciler{ + if err = (&controllers.AzureSqlServerReconciler{ Client: mgr.GetClient(), - Log: ctrl.Log.WithName("controllers").WithName("SqlServer"), - Recorder: mgr.GetEventRecorderFor("SqlServer-controller"), + Log: ctrl.Log.WithName("controllers").WithName("AzureSqlServer"), + Recorder: mgr.GetEventRecorderFor("AzureSqlServer-controller"), Scheme: mgr.GetScheme(), }).SetupWithManager(mgr); err != nil { - setupLog.Error(err, "unable to create controller", "controller", "SqlServer") + setupLog.Error(err, "unable to create controller", "controller", "AzureSqlServer") os.Exit(1) } if err = (&controllers.SqlDatabaseReconciler{