Skip to content

Commit

Permalink
changes based on PR comments
Browse files Browse the repository at this point in the history
  • Loading branch information
jananivMS committed Oct 24, 2019
1 parent 72681f6 commit d849b9c
Show file tree
Hide file tree
Showing 3 changed files with 36 additions and 45 deletions.
2 changes: 1 addition & 1 deletion PROJECT
Original file line number Diff line number Diff line change
Expand Up @@ -40,4 +40,4 @@ resources:
kind: AzureSqlAction
- group: azure
version: v1alpha1
kind: AzureSQLFailoverGroup
kind: AzureSqlFailoverGroup
24 changes: 12 additions & 12 deletions api/v1alpha1/azuresqlfailovergroup_types.go
Original file line number Diff line number Diff line change
Expand Up @@ -22,8 +22,8 @@ import (

// NOTE: json tags are required. Any new fields you add must have json tags for the fields to be serialized.

// AzureSQLFailoverGroupSpec defines the desired state of AzureSQLFailoverGroup
type AzureSQLFailoverGroupSpec struct {
// AzureSqlFailoverGroupSpec defines the desired state of AzureSQLFailoverGroup
type AzureSqlFailoverGroupSpec struct {
// Important: Run "make" to regenerate code after modifying this file
Location string `json:"location"`
ResourceGroup string `json:"resourcegroup,omitempty"`
Expand All @@ -36,7 +36,7 @@ type AzureSQLFailoverGroupSpec struct {
}

// AzureSQLFailoverGroupStatus defines the observed state of AzureSQLFailoverGroup
type AzureSQLFailoverGroupStatus struct {
type AzureSqlFailoverGroupStatus struct {
// Important: Run "make" to regenerate code after modifying this file
Provisioning bool `json:"provisioning,omitempty"`
Provisioned bool `json:"provisioned,omitempty"`
Expand All @@ -46,28 +46,28 @@ type AzureSQLFailoverGroupStatus struct {

// +kubebuilder:object:root=true
// +kubebuilder:subresource:status
// AzureSQLFailoverGroup is the Schema for the azuresqlfailovergroups API
type AzureSQLFailoverGroup struct {
// AzureSqlFailoverGroup is the Schema for the azuresqlfailovergroups API
type AzureSqlFailoverGroup struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`

Spec AzureSQLFailoverGroupSpec `json:"spec,omitempty"`
Status AzureSQLFailoverGroupStatus `json:"status,omitempty"`
Spec AzureSqlFailoverGroupSpec `json:"spec,omitempty"`
Status AzureSqlFailoverGroupStatus `json:"status,omitempty"`
}

// +kubebuilder:object:root=true

// AzureSQLFailoverGroupList contains a list of AzureSQLFailoverGroup
type AzureSQLFailoverGroupList struct {
// AzureSqlFailoverGroupList contains a list of AzureSQLFailoverGroup
type AzureSqlFailoverGroupList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []AzureSQLFailoverGroup `json:"items"`
Items []AzureSqlFailoverGroup `json:"items"`
}

func init() {
SchemeBuilder.Register(&AzureSQLFailoverGroup{}, &AzureSQLFailoverGroupList{})
SchemeBuilder.Register(&AzureSqlFailoverGroup{}, &AzureSqlFailoverGroupList{})
}

func (s *AzureSQLFailoverGroup) IsSubmitted() bool {
func (s *AzureSqlFailoverGroup) IsSubmitted() bool {
return s.Status.Provisioned || s.Status.Provisioning
}
55 changes: 23 additions & 32 deletions controllers/azuresqlfailovergroup_controller.go
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
http://www.apache.org/licenses/LICENSE-2.
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
Expand Down Expand Up @@ -37,7 +37,7 @@ import (

const azureSQLFailoverGroupFinalizerName = "azuresqlfailovergroup.finalizers.azure.com"

// AzureSQLFailoverGroupReconciler reconciles a AzureSQLFailoverGroup object
// AzureSQLFailoverGroupReconciler reconciles a AzureSqlFailoverGroup object
type AzureSQLFailoverGroupReconciler struct {
client.Client
Log logr.Logger
Expand All @@ -51,7 +51,7 @@ type AzureSQLFailoverGroupReconciler struct {
func (r *AzureSQLFailoverGroupReconciler) Reconcile(req ctrl.Request) (ctrl.Result, error) {
ctx := context.Background()
log := r.Log.WithValues("azuresqlfailovergroup", req.NamespacedName)
var instance azurev1alpha1.AzureSQLFailoverGroup
var instance azurev1alpha1.AzureSqlFailoverGroup

defer func() {
if err := r.Status().Update(ctx, &instance); err != nil {
Expand All @@ -67,9 +67,20 @@ func (r *AzureSQLFailoverGroupReconciler) Reconcile(req ctrl.Request) (ctrl.Resu
return ctrl.Result{}, client.IgnoreNotFound(err)
}

groupName := instance.Spec.ResourceGroup
location := instance.Spec.Location
servername := instance.Spec.Server

sdkClient := sql.GoSDKClient{
Ctx: ctx,
ResourceGroupName: groupName,
ServerName: servername,
Location: location,
}

if helpers.IsBeingDeleted(&instance) {
if helpers.HasFinalizer(&instance, azureSQLFailoverGroupFinalizerName) {
if err := r.deleteExternal(&instance); err != nil {
if err := r.deleteExternal(&instance, sdkClient); err != nil {
catch := []string{
errhelp.AsyncOpIncompleteError,
}
Expand Down Expand Up @@ -104,7 +115,7 @@ func (r *AzureSQLFailoverGroupReconciler) Reconcile(req ctrl.Request) (ctrl.Resu

if !instance.IsSubmitted() {
r.Recorder.Event(&instance, v1.EventTypeNormal, "Submitting", "starting resource reconciliation")
if err := r.reconcileExternal(&instance); err != nil {
if err := r.reconcileExternal(&instance, sdkClient); err != nil {
catch := []string{
errhelp.ParentNotFoundErrorCode,
errhelp.ResourceGroupNotFoundErrorCode,
Expand All @@ -126,8 +137,8 @@ func (r *AzureSQLFailoverGroupReconciler) Reconcile(req ctrl.Request) (ctrl.Resu
return ctrl.Result{}, nil
}

r.Recorder.Event(&instance, v1.EventTypeNormal, "Provisioned", "azuresqlfirewallrule "+instance.ObjectMeta.Name+" provisioned ")
msg := fmt.Sprintf("AzureSqlFirewallrule%s successfully provisioned", instance.ObjectMeta.Name)
r.Recorder.Event(&instance, v1.EventTypeNormal, "Provisioned", "azuresqlfailovergroup "+instance.ObjectMeta.Name+" provisioned ")
msg := fmt.Sprintf("AzureSqlFailoverGroup %s successfully provisioned", instance.ObjectMeta.Name)
log.Info(msg)
instance.Status.Message = msg

Expand All @@ -136,28 +147,19 @@ func (r *AzureSQLFailoverGroupReconciler) Reconcile(req ctrl.Request) (ctrl.Resu

func (r *AzureSQLFailoverGroupReconciler) SetupWithManager(mgr ctrl.Manager) error {
return ctrl.NewControllerManagedBy(mgr).
For(&azurev1alpha1.AzureSQLFailoverGroup{}).
For(&azurev1alpha1.AzureSqlFailoverGroup{}).
Complete(r)
}

func (r *AzureSQLFailoverGroupReconciler) reconcileExternal(instance *azurev1alpha1.AzureSQLFailoverGroup) error {
func (r *AzureSQLFailoverGroupReconciler) reconcileExternal(instance *azurev1alpha1.AzureSqlFailoverGroup, sdkClient sql.GoSDKClient) error {
ctx := context.Background()
groupName := instance.Spec.ResourceGroup
server := instance.Spec.Server
location := instance.Spec.Location
failoverGroupName := instance.ObjectMeta.Name
failoverPolicy := instance.Spec.FailoverPolicy
failoverGracePeriod := instance.Spec.FailoverGracePeriod
secondaryServer := instance.Spec.SecondaryServerName
secondaryResourceGroup := instance.Spec.SecondaryServerResourceGroup
databaseList := instance.Spec.DatabaseList

sdkClient := sql.GoSDKClient{
Ctx: ctx,
ResourceGroupName: groupName,
ServerName: server,
Location: location,
}
server := instance.Spec.Server

r.Log.Info("Calling createorupdate Azure SQL failover groups")

Expand Down Expand Up @@ -224,19 +226,8 @@ func (r *AzureSQLFailoverGroupReconciler) reconcileExternal(instance *azurev1alp
return nil
}

func (r *AzureSQLFailoverGroupReconciler) deleteExternal(instance *azurev1alpha1.AzureSQLFailoverGroup) error {
ctx := context.Background()
func (r *AzureSQLFailoverGroupReconciler) deleteExternal(instance *azurev1alpha1.AzureSqlFailoverGroup, sdkClient sql.GoSDKClient) error {
name := instance.ObjectMeta.Name
groupName := instance.Spec.ResourceGroup
location := instance.Spec.Location
servername := instance.Spec.Server

sdkClient := sql.GoSDKClient{
Ctx: ctx,
ResourceGroupName: groupName,
ServerName: servername,
Location: location,
}

response, err := sdkClient.DeleteFailoverGroup(name)
if err == nil {
Expand All @@ -253,7 +244,7 @@ func (r *AzureSQLFailoverGroupReconciler) deleteExternal(instance *azurev1alpha1
return nil
}

func (r *AzureSQLFailoverGroupReconciler) addFinalizer(instance *azurev1alpha1.AzureSQLFailoverGroup) error {
func (r *AzureSQLFailoverGroupReconciler) addFinalizer(instance *azurev1alpha1.AzureSqlFailoverGroup) error {
helpers.AddFinalizer(instance, azureSQLFailoverGroupFinalizerName)
err := r.Update(context.Background(), instance)
if err != nil {
Expand Down

0 comments on commit d849b9c

Please # to comment.