minor changes
Signed-off-by: RavinaChidambaram <cravina.19@gmail.com>
This commit is contained in:
		
							parent
							
								
									d89e726b56
								
							
						
					
					
						commit
						30ed723c95
					
				|  | @ -3,8 +3,8 @@ package v1 | |||
| // Postgres CRD definition, please use CamelCase for field names.
 | ||||
| 
 | ||||
| import ( | ||||
| 	"time" | ||||
| 	"k8s.io/apimachinery/pkg/api/equality" | ||||
| 	"time" | ||||
| 
 | ||||
| 	v1 "k8s.io/api/core/v1" | ||||
| 	metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" | ||||
|  |  | |||
|  | @ -100,7 +100,3 @@ func (postgresStatus PostgresStatus) Running() bool { | |||
| func (postgresStatus PostgresStatus) Creating() bool { | ||||
| 	return postgresStatus.PostgresClusterStatus == ClusterStatusCreating | ||||
| } | ||||
| 
 | ||||
| //func (postgresStatus PostgresStatus) String() string {
 | ||||
| //	return postgresStatus.PostgresClusterStatus
 | ||||
| //}
 | ||||
|  |  | |||
|  | @ -255,18 +255,20 @@ func (c *Cluster) Create() (err error) { | |||
| 		ss             *appsv1.StatefulSet | ||||
| 	) | ||||
| 
 | ||||
| 	//Even though its possible to propogate other CR labels to the pods, picking the default label here since its propogated to all the pods by default. But this means that in order for the scale subresource to work properly, user must set the "cluster-name" key in their CRs with value matching the CR name.
 | ||||
| 	labelstring := fmt.Sprintf("%s=%s", "cluster-name", c.Postgresql.ObjectMeta.Labels["cluster-name"]) //TODO: make this configurable.
 | ||||
| 
 | ||||
| 	defer func() { | ||||
| 		var ( | ||||
| 			pgUpdatedStatus *acidv1.Postgresql | ||||
| 			errStatus       error | ||||
| 		) | ||||
| 		labelstring := fmt.Sprintf("%s=%s", "cluster-name", c.Postgresql.ObjectMeta.Labels["cluster-name"]) | ||||
| 		existingCondition := c.Postgresql.Status.Conditions | ||||
| 		existingConditions := c.Postgresql.Status.Conditions | ||||
| 		if err == nil { | ||||
| 			pgUpdatedStatus, errStatus = c.KubeClient.SetPostgresCRDStatus(c.clusterName(), acidv1.ClusterStatusRunning, c.Postgresql.Spec.NumberOfInstances, labelstring, c.Postgresql.Generation, existingCondition, "") //TODO: are you sure it's running?
 | ||||
| 			pgUpdatedStatus, errStatus = c.KubeClient.SetPostgresCRDStatus(c.clusterName(), acidv1.ClusterStatusRunning, c.Postgresql.Spec.NumberOfInstances, labelstring, c.Postgresql.Generation, existingConditions, "") //TODO: are you sure it's running?
 | ||||
| 		} else { | ||||
| 			c.logger.Warningf("cluster created failed: %v", err) | ||||
| 			pgUpdatedStatus, errStatus = c.KubeClient.SetPostgresCRDStatus(c.clusterName(), acidv1.ClusterStatusAddFailed, 0, labelstring, 0, existingCondition, err.Error()) | ||||
| 			pgUpdatedStatus, errStatus = c.KubeClient.SetPostgresCRDStatus(c.clusterName(), acidv1.ClusterStatusAddFailed, 0, labelstring, 0, existingConditions, err.Error()) | ||||
| 		} | ||||
| 		if errStatus != nil { | ||||
| 			c.logger.Warningf("could not set cluster status: %v", errStatus) | ||||
|  | @ -276,9 +278,8 @@ func (c *Cluster) Create() (err error) { | |||
| 		} | ||||
| 	}() | ||||
| 
 | ||||
| 	labelstring := fmt.Sprintf("%s=%s", "cluster-name", c.Postgresql.ObjectMeta.Labels["cluster-name"]) | ||||
| 	existingCondition := c.Postgresql.Status.Conditions | ||||
| 	pgCreateStatus, err = c.KubeClient.SetPostgresCRDStatus(c.clusterName(), acidv1.ClusterStatusCreating, 0, labelstring, 0, existingCondition, "") | ||||
| 	existingConditions := c.Postgresql.Status.Conditions | ||||
| 	pgCreateStatus, err = c.KubeClient.SetPostgresCRDStatus(c.clusterName(), acidv1.ClusterStatusCreating, 0, labelstring, 0, existingConditions, "") | ||||
| 	if err != nil { | ||||
| 		return fmt.Errorf("could not set cluster status: %v", err) | ||||
| 	} | ||||
|  | @ -932,8 +933,8 @@ func (c *Cluster) Update(oldSpec, newSpec *acidv1.Postgresql) error { | |||
| 	defer c.mu.Unlock() | ||||
| 
 | ||||
| 	labelstring := fmt.Sprintf("%s=%s", "cluster-name", c.Postgresql.ObjectMeta.Labels["cluster-name"]) | ||||
| 	existingCondition := c.Postgresql.Status.Conditions | ||||
| 	c.KubeClient.SetPostgresCRDStatus(c.clusterName(), acidv1.ClusterStatusUpdating, c.Postgresql.Status.NumberOfInstances, labelstring, c.Postgresql.Status.ObservedGeneration, existingCondition, "") | ||||
| 	existingConditions := c.Postgresql.Status.Conditions | ||||
| 	c.KubeClient.SetPostgresCRDStatus(c.clusterName(), acidv1.ClusterStatusUpdating, c.Postgresql.Status.NumberOfInstances, labelstring, c.Postgresql.Status.ObservedGeneration, existingConditions, "") | ||||
| 	c.setSpec(newSpec) | ||||
| 
 | ||||
| 	defer func() { | ||||
|  | @ -942,9 +943,9 @@ func (c *Cluster) Update(oldSpec, newSpec *acidv1.Postgresql) error { | |||
| 			err             error | ||||
| 		) | ||||
| 		if updateFailed { | ||||
| 			pgUpdatedStatus, err = c.KubeClient.SetPostgresCRDStatus(c.clusterName(), acidv1.ClusterStatusUpdateFailed, c.Postgresql.Status.NumberOfInstances, labelstring, c.Postgresql.Status.ObservedGeneration, existingCondition, err.Error()) | ||||
| 			pgUpdatedStatus, err = c.KubeClient.SetPostgresCRDStatus(c.clusterName(), acidv1.ClusterStatusUpdateFailed, c.Postgresql.Status.NumberOfInstances, labelstring, c.Postgresql.Status.ObservedGeneration, existingConditions, err.Error()) | ||||
| 		} else { | ||||
| 			pgUpdatedStatus, err = c.KubeClient.SetPostgresCRDStatus(c.clusterName(), acidv1.ClusterStatusRunning, newSpec.Spec.NumberOfInstances, labelstring, c.Postgresql.Generation, existingCondition, "") | ||||
| 			pgUpdatedStatus, err = c.KubeClient.SetPostgresCRDStatus(c.clusterName(), acidv1.ClusterStatusRunning, newSpec.Spec.NumberOfInstances, labelstring, c.Postgresql.Generation, existingConditions, "") | ||||
| 		} | ||||
| 		if err != nil { | ||||
| 			c.logger.Warningf("could not set cluster status: %v", err) | ||||
|  |  | |||
|  | @ -47,12 +47,12 @@ func (c *Cluster) Sync(newSpec *acidv1.Postgresql) error { | |||
| 			errStatus       error | ||||
| 		) | ||||
| 		labelstring := fmt.Sprintf("%s=%s", "cluster-name", c.Postgresql.ObjectMeta.Labels["cluster-name"]) | ||||
| 		existingCondition := c.Postgresql.Status.Conditions | ||||
| 		existingConditions := c.Postgresql.Status.Conditions | ||||
| 		if err != nil { | ||||
| 			c.logger.Warningf("error while syncing cluster state: %v", err) | ||||
| 			pgUpdatedStatus, errStatus = c.KubeClient.SetPostgresCRDStatus(c.clusterName(), acidv1.ClusterStatusSyncFailed, newSpec.Status.NumberOfInstances, labelstring, c.Postgresql.Status.ObservedGeneration, existingCondition, errStatus.Error()) | ||||
| 			pgUpdatedStatus, errStatus = c.KubeClient.SetPostgresCRDStatus(c.clusterName(), acidv1.ClusterStatusSyncFailed, newSpec.Status.NumberOfInstances, labelstring, c.Postgresql.Status.ObservedGeneration, existingConditions, errStatus.Error()) | ||||
| 		} else if !c.Status.Running() { | ||||
| 			pgUpdatedStatus, errStatus = c.KubeClient.SetPostgresCRDStatus(c.clusterName(), acidv1.ClusterStatusRunning, newSpec.Spec.NumberOfInstances, labelstring, c.Postgresql.Generation, existingCondition, "") | ||||
| 			pgUpdatedStatus, errStatus = c.KubeClient.SetPostgresCRDStatus(c.clusterName(), acidv1.ClusterStatusRunning, newSpec.Spec.NumberOfInstances, labelstring, c.Postgresql.Generation, existingConditions, "") | ||||
| 		} | ||||
| 		if errStatus != nil { | ||||
| 			c.logger.Warningf("could not set cluster status: %v", errStatus) | ||||
|  |  | |||
|  | @ -162,8 +162,8 @@ func (c *Controller) addCluster(lg *logrus.Entry, clusterName spec.NamespacedNam | |||
| 	if c.opConfig.EnableTeamIdClusternamePrefix { | ||||
| 		if _, err := acidv1.ExtractClusterName(clusterName.Name, pgSpec.Spec.TeamID); err != nil { | ||||
| 			labelstring := fmt.Sprintf("%s=%s", "cluster-name", pgSpec.ObjectMeta.Labels["cluster-name"]) | ||||
| 			existingCondition := pgSpec.Status.Conditions | ||||
| 			c.KubeClient.SetPostgresCRDStatus(clusterName, acidv1.ClusterStatusInvalid, pgSpec.Status.NumberOfInstances, labelstring, pgSpec.Status.ObservedGeneration, existingCondition, err.Error()) | ||||
| 			existingConditions := pgSpec.Status.Conditions | ||||
| 			c.KubeClient.SetPostgresCRDStatus(clusterName, acidv1.ClusterStatusInvalid, pgSpec.Status.NumberOfInstances, labelstring, pgSpec.Status.ObservedGeneration, existingConditions, err.Error()) | ||||
| 			return nil, err | ||||
| 		} | ||||
| 	} | ||||
|  | @ -475,17 +475,17 @@ func (c *Controller) queueClusterEvent(informerOldSpec, informerNewSpec *acidv1. | |||
| 	if clusterError != "" && eventType != EventDelete { | ||||
| 		c.logger.WithField("cluster-name", clusterName).Debugf("skipping %q event for the invalid cluster: %s", eventType, clusterError) | ||||
| 		labelstring := fmt.Sprintf("%s=%s", "cluster-name", informerNewSpec.ObjectMeta.Labels["cluster-name"]) | ||||
| 		existingCondition := informerNewSpec.Status.Conditions | ||||
| 		existingConditions := informerNewSpec.Status.Conditions | ||||
| 
 | ||||
| 		switch eventType { | ||||
| 		case EventAdd: | ||||
| 			c.KubeClient.SetPostgresCRDStatus(clusterName, acidv1.ClusterStatusAddFailed, informerNewSpec.Status.NumberOfInstances, labelstring, informerNewSpec.Status.ObservedGeneration, existingCondition, clusterError) | ||||
| 			c.KubeClient.SetPostgresCRDStatus(clusterName, acidv1.ClusterStatusAddFailed, informerNewSpec.Status.NumberOfInstances, labelstring, informerNewSpec.Status.ObservedGeneration, existingConditions, clusterError) | ||||
| 			c.eventRecorder.Eventf(c.GetReference(informerNewSpec), v1.EventTypeWarning, "Create", "%v", clusterError) | ||||
| 		case EventUpdate: | ||||
| 			c.KubeClient.SetPostgresCRDStatus(clusterName, acidv1.ClusterStatusUpdateFailed, informerNewSpec.Status.NumberOfInstances, labelstring, informerNewSpec.Status.ObservedGeneration, existingCondition, clusterError) | ||||
| 			c.KubeClient.SetPostgresCRDStatus(clusterName, acidv1.ClusterStatusUpdateFailed, informerNewSpec.Status.NumberOfInstances, labelstring, informerNewSpec.Status.ObservedGeneration, existingConditions, clusterError) | ||||
| 			c.eventRecorder.Eventf(c.GetReference(informerNewSpec), v1.EventTypeWarning, "Update", "%v", clusterError) | ||||
| 		default: | ||||
| 			c.KubeClient.SetPostgresCRDStatus(clusterName, acidv1.ClusterStatusSyncFailed, informerNewSpec.Status.NumberOfInstances, labelstring, informerNewSpec.Status.ObservedGeneration, existingCondition, clusterError) | ||||
| 			c.KubeClient.SetPostgresCRDStatus(clusterName, acidv1.ClusterStatusSyncFailed, informerNewSpec.Status.NumberOfInstances, labelstring, informerNewSpec.Status.ObservedGeneration, existingConditions, clusterError) | ||||
| 			c.eventRecorder.Eventf(c.GetReference(informerNewSpec), v1.EventTypeWarning, "Sync", "%v", clusterError) | ||||
| 		} | ||||
| 
 | ||||
|  |  | |||
|  | @ -193,7 +193,7 @@ func NewFromConfig(cfg *rest.Config) (KubernetesClient, error) { | |||
| } | ||||
| 
 | ||||
| // SetPostgresCRDStatus of Postgres cluster
 | ||||
| func (client *KubernetesClient) SetPostgresCRDStatus(clusterName spec.NamespacedName, status string, numberOfInstances int32, labelSelector string, observedGeneration int64, existingCondition apiacidv1.Conditions, message string) (*apiacidv1.Postgresql, error) { | ||||
| func (client *KubernetesClient) SetPostgresCRDStatus(clusterName spec.NamespacedName, status string, numberOfInstances int32, labelSelector string, observedGeneration int64, existingConditions apiacidv1.Conditions, message string) (*apiacidv1.Postgresql, error) { | ||||
| 	var pg *apiacidv1.Postgresql | ||||
| 	pgStatus := apiacidv1.PostgresStatus{} | ||||
| 	pgStatus.PostgresClusterStatus = status | ||||
|  | @ -201,10 +201,9 @@ func (client *KubernetesClient) SetPostgresCRDStatus(clusterName spec.Namespaced | |||
| 	pgStatus.LabelSelector = labelSelector | ||||
| 	pgStatus.ObservedGeneration = observedGeneration | ||||
| 
 | ||||
| 	newConditions := updateConditions(existingCondition, status, message) | ||||
| 	newConditions := updateConditions(existingConditions, status, message) | ||||
| 	pgStatus.Conditions = newConditions | ||||
| 
 | ||||
| 
 | ||||
| 	patch, err := json.Marshal(struct { | ||||
| 		PgStatus interface{} `json:"status"` | ||||
| 	}{&pgStatus}) | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue