Modify to add extra labels only during resource creation

This commit is contained in:
Sergey Dudoladov 2018-02-26 11:11:50 +01:00
parent 00dc810544
commit 071547e5bf
4 changed files with 19 additions and 12 deletions

View File

@ -491,7 +491,7 @@ func (c *Cluster) generatePodTemplate(
template := v1.PodTemplateSpec{
ObjectMeta: metav1.ObjectMeta{
Labels: c.labelsSet(),
Labels: c.labelsSet(true),
Namespace: c.Namespace,
},
Spec: podSpec,
@ -559,7 +559,7 @@ func (c *Cluster) generateStatefulSet(spec *spec.PostgresSpec) (*v1beta1.Statefu
ObjectMeta: metav1.ObjectMeta{
Name: c.statefulSetName(),
Namespace: c.Namespace,
Labels: c.labelsSet(),
Labels: c.labelsSet(true),
},
Spec: v1beta1.StatefulSetSpec{
Replicas: &numberOfInstances,
@ -653,7 +653,7 @@ func (c *Cluster) generateSingleUserSecret(namespace string, pgUser spec.PgUser)
ObjectMeta: metav1.ObjectMeta{
Name: c.credentialSecretName(username),
Namespace: namespace,
Labels: c.labelsSet(),
Labels: c.labelsSet(true),
},
Type: v1.SecretTypeOpaque,
Data: map[string][]byte{
@ -780,7 +780,7 @@ func (c *Cluster) generatePodDisruptionBudget() *policybeta1.PodDisruptionBudget
ObjectMeta: metav1.ObjectMeta{
Name: c.podDisruptionBudgetName(),
Namespace: c.Namespace,
Labels: c.labelsSet(),
Labels: c.labelsSet(true),
},
Spec: policybeta1.PodDisruptionBudgetSpec{
MinAvailable: &minAvailable,

View File

@ -13,7 +13,7 @@ import (
func (c *Cluster) listPods() ([]v1.Pod, error) {
listOptions := metav1.ListOptions{
LabelSelector: c.labelsSet().String(),
LabelSelector: c.labelsSet(false).String(),
}
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 {
c.setProcessName("recreating pods")
ls := c.labelsSet()
ls := c.labelsSet(false)
namespace := c.Namespace
listOptions := metav1.ListOptions{

View File

@ -261,7 +261,7 @@ func (c *Cluster) waitStatefulsetReady() error {
return retryutil.Retry(c.OpConfig.ResourceCheckInterval, c.OpConfig.ResourceCheckTimeout,
func() (bool, error) {
listOptions := metav1.ListOptions{
LabelSelector: c.labelsSet().String(),
LabelSelector: c.labelsSet(false).String(),
}
ss, err := c.KubeClient.StatefulSets(c.Namespace).List(listOptions)
if err != nil {
@ -277,7 +277,7 @@ func (c *Cluster) waitStatefulsetReady() error {
}
func (c *Cluster) waitPodLabelsReady() error {
ls := c.labelsSet()
ls := c.labelsSet(false)
namespace := c.Namespace
listOptions := metav1.ListOptions{
@ -337,19 +337,26 @@ func (c *Cluster) waitStatefulsetPodsReady() error {
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)
for k, v := range c.OpConfig.ClusterLabels {
lbls[k] = v
}
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)
}
func (c *Cluster) roleLabelsSet(role PostgresRole) labels.Set {
lbls := c.labelsSet()
lbls := c.labelsSet(false)
lbls[c.OpConfig.PodRoleLabel] = string(role)
return lbls
}

View File

@ -19,7 +19,7 @@ import (
func (c *Cluster) listPersistentVolumeClaims() ([]v1.PersistentVolumeClaim, error) {
ns := c.Namespace
listOptions := metav1.ListOptions{
LabelSelector: c.labelsSet().String(),
LabelSelector: c.labelsSet(false).String(),
}
pvcs, err := c.KubeClient.PersistentVolumeClaims(ns).List(listOptions)