Modify to add extra labels only during resource creation
This commit is contained in:
		
							parent
							
								
									00dc810544
								
							
						
					
					
						commit
						071547e5bf
					
				|  | @ -491,7 +491,7 @@ func (c *Cluster) generatePodTemplate( | ||||||
| 
 | 
 | ||||||
| 	template := v1.PodTemplateSpec{ | 	template := v1.PodTemplateSpec{ | ||||||
| 		ObjectMeta: metav1.ObjectMeta{ | 		ObjectMeta: metav1.ObjectMeta{ | ||||||
| 			Labels:    c.labelsSet(), | 			Labels:    c.labelsSet(true), | ||||||
| 			Namespace: c.Namespace, | 			Namespace: c.Namespace, | ||||||
| 		}, | 		}, | ||||||
| 		Spec: podSpec, | 		Spec: podSpec, | ||||||
|  | @ -559,7 +559,7 @@ func (c *Cluster) generateStatefulSet(spec *spec.PostgresSpec) (*v1beta1.Statefu | ||||||
| 		ObjectMeta: metav1.ObjectMeta{ | 		ObjectMeta: metav1.ObjectMeta{ | ||||||
| 			Name:      c.statefulSetName(), | 			Name:      c.statefulSetName(), | ||||||
| 			Namespace: c.Namespace, | 			Namespace: c.Namespace, | ||||||
| 			Labels:    c.labelsSet(), | 			Labels:    c.labelsSet(true), | ||||||
| 		}, | 		}, | ||||||
| 		Spec: v1beta1.StatefulSetSpec{ | 		Spec: v1beta1.StatefulSetSpec{ | ||||||
| 			Replicas:             &numberOfInstances, | 			Replicas:             &numberOfInstances, | ||||||
|  | @ -653,7 +653,7 @@ func (c *Cluster) generateSingleUserSecret(namespace string, pgUser spec.PgUser) | ||||||
| 		ObjectMeta: metav1.ObjectMeta{ | 		ObjectMeta: metav1.ObjectMeta{ | ||||||
| 			Name:      c.credentialSecretName(username), | 			Name:      c.credentialSecretName(username), | ||||||
| 			Namespace: namespace, | 			Namespace: namespace, | ||||||
| 			Labels:    c.labelsSet(), | 			Labels:    c.labelsSet(true), | ||||||
| 		}, | 		}, | ||||||
| 		Type: v1.SecretTypeOpaque, | 		Type: v1.SecretTypeOpaque, | ||||||
| 		Data: map[string][]byte{ | 		Data: map[string][]byte{ | ||||||
|  | @ -780,7 +780,7 @@ func (c *Cluster) generatePodDisruptionBudget() *policybeta1.PodDisruptionBudget | ||||||
| 		ObjectMeta: metav1.ObjectMeta{ | 		ObjectMeta: metav1.ObjectMeta{ | ||||||
| 			Name:      c.podDisruptionBudgetName(), | 			Name:      c.podDisruptionBudgetName(), | ||||||
| 			Namespace: c.Namespace, | 			Namespace: c.Namespace, | ||||||
| 			Labels:    c.labelsSet(), | 			Labels:    c.labelsSet(true), | ||||||
| 		}, | 		}, | ||||||
| 		Spec: policybeta1.PodDisruptionBudgetSpec{ | 		Spec: policybeta1.PodDisruptionBudgetSpec{ | ||||||
| 			MinAvailable: &minAvailable, | 			MinAvailable: &minAvailable, | ||||||
|  |  | ||||||
|  | @ -13,7 +13,7 @@ import ( | ||||||
| 
 | 
 | ||||||
| func (c *Cluster) listPods() ([]v1.Pod, error) { | func (c *Cluster) listPods() ([]v1.Pod, error) { | ||||||
| 	listOptions := metav1.ListOptions{ | 	listOptions := metav1.ListOptions{ | ||||||
| 		LabelSelector: c.labelsSet().String(), | 		LabelSelector: c.labelsSet(false).String(), | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
| 	pods, err := c.KubeClient.Pods(c.Namespace).List(listOptions) | 	pods, err := c.KubeClient.Pods(c.Namespace).List(listOptions) | ||||||
|  | @ -268,7 +268,7 @@ func (c *Cluster) recreatePod(podName spec.NamespacedName) (*v1.Pod, error) { | ||||||
| 
 | 
 | ||||||
| func (c *Cluster) recreatePods() error { | func (c *Cluster) recreatePods() error { | ||||||
| 	c.setProcessName("recreating pods") | 	c.setProcessName("recreating pods") | ||||||
| 	ls := c.labelsSet() | 	ls := c.labelsSet(false) | ||||||
| 	namespace := c.Namespace | 	namespace := c.Namespace | ||||||
| 
 | 
 | ||||||
| 	listOptions := metav1.ListOptions{ | 	listOptions := metav1.ListOptions{ | ||||||
|  |  | ||||||
|  | @ -261,7 +261,7 @@ func (c *Cluster) waitStatefulsetReady() error { | ||||||
| 	return retryutil.Retry(c.OpConfig.ResourceCheckInterval, c.OpConfig.ResourceCheckTimeout, | 	return retryutil.Retry(c.OpConfig.ResourceCheckInterval, c.OpConfig.ResourceCheckTimeout, | ||||||
| 		func() (bool, error) { | 		func() (bool, error) { | ||||||
| 			listOptions := metav1.ListOptions{ | 			listOptions := metav1.ListOptions{ | ||||||
| 				LabelSelector: c.labelsSet().String(), | 				LabelSelector: c.labelsSet(false).String(), | ||||||
| 			} | 			} | ||||||
| 			ss, err := c.KubeClient.StatefulSets(c.Namespace).List(listOptions) | 			ss, err := c.KubeClient.StatefulSets(c.Namespace).List(listOptions) | ||||||
| 			if err != nil { | 			if err != nil { | ||||||
|  | @ -277,7 +277,7 @@ func (c *Cluster) waitStatefulsetReady() error { | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| func (c *Cluster) waitPodLabelsReady() error { | func (c *Cluster) waitPodLabelsReady() error { | ||||||
| 	ls := c.labelsSet() | 	ls := c.labelsSet(false) | ||||||
| 	namespace := c.Namespace | 	namespace := c.Namespace | ||||||
| 
 | 
 | ||||||
| 	listOptions := metav1.ListOptions{ | 	listOptions := metav1.ListOptions{ | ||||||
|  | @ -337,19 +337,26 @@ func (c *Cluster) waitStatefulsetPodsReady() error { | ||||||
| 	return nil | 	return nil | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| func (c *Cluster) labelsSet() labels.Set { | // Returns labels used to create or list k8s objects such as pods
 | ||||||
|  | // For backward compatability, shouldAddExtraLabels must be false
 | ||||||
|  | // when listing k8s objects. See operator PR #252
 | ||||||
|  | func (c *Cluster) labelsSet(shouldAddExtraLabels bool) labels.Set { | ||||||
| 	lbls := make(map[string]string) | 	lbls := make(map[string]string) | ||||||
| 	for k, v := range c.OpConfig.ClusterLabels { | 	for k, v := range c.OpConfig.ClusterLabels { | ||||||
| 		lbls[k] = v | 		lbls[k] = v | ||||||
| 	} | 	} | ||||||
| 	lbls[c.OpConfig.ClusterNameLabel] = c.Name | 	lbls[c.OpConfig.ClusterNameLabel] = c.Name | ||||||
| 	lbls["team"] = c.Postgresql.Spec.TeamID | 
 | ||||||
|  | 	if shouldAddExtraLabels { | ||||||
|  | 		// enables filtering resources owned by a team
 | ||||||
|  | 		lbls["team"] = c.Postgresql.Spec.TeamID | ||||||
|  | 	} | ||||||
| 
 | 
 | ||||||
| 	return labels.Set(lbls) | 	return labels.Set(lbls) | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| func (c *Cluster) roleLabelsSet(role PostgresRole) labels.Set { | func (c *Cluster) roleLabelsSet(role PostgresRole) labels.Set { | ||||||
| 	lbls := c.labelsSet() | 	lbls := c.labelsSet(false) | ||||||
| 	lbls[c.OpConfig.PodRoleLabel] = string(role) | 	lbls[c.OpConfig.PodRoleLabel] = string(role) | ||||||
| 	return lbls | 	return lbls | ||||||
| } | } | ||||||
|  |  | ||||||
|  | @ -19,7 +19,7 @@ import ( | ||||||
| func (c *Cluster) listPersistentVolumeClaims() ([]v1.PersistentVolumeClaim, error) { | func (c *Cluster) listPersistentVolumeClaims() ([]v1.PersistentVolumeClaim, error) { | ||||||
| 	ns := c.Namespace | 	ns := c.Namespace | ||||||
| 	listOptions := metav1.ListOptions{ | 	listOptions := metav1.ListOptions{ | ||||||
| 		LabelSelector: c.labelsSet().String(), | 		LabelSelector: c.labelsSet(false).String(), | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
| 	pvcs, err := c.KubeClient.PersistentVolumeClaims(ns).List(listOptions) | 	pvcs, err := c.KubeClient.PersistentVolumeClaims(ns).List(listOptions) | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue