|
7 | 7 |
|
8 | 8 | "k8s.io/apimachinery/pkg/api/resource" |
9 | 9 | metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" |
| 10 | + "k8s.io/apimachinery/pkg/types" |
10 | 11 | "k8s.io/apimachinery/pkg/util/intstr" |
11 | 12 | "k8s.io/client-go/pkg/api/v1" |
12 | 13 | "k8s.io/client-go/pkg/apis/apps/v1beta1" |
@@ -280,6 +281,7 @@ func (c *Cluster) tolerations(tolerationsSpec *[]v1.Toleration) []v1.Toleration |
280 | 281 | } |
281 | 282 |
|
282 | 283 | func (c *Cluster) generatePodTemplate( |
| 284 | + uid types.UID, |
283 | 285 | resourceRequirements *v1.ResourceRequirements, |
284 | 286 | resourceRequirementsScalyrSidecar *v1.ResourceRequirements, |
285 | 287 | tolerationsSpec *[]v1.Toleration, |
@@ -358,6 +360,7 @@ func (c *Cluster) generatePodTemplate( |
358 | 360 | } |
359 | 361 | if c.OpConfig.WALES3Bucket != "" { |
360 | 362 | envVars = append(envVars, v1.EnvVar{Name: "WAL_S3_BUCKET", Value: c.OpConfig.WALES3Bucket}) |
| 363 | + envVars = append(envVars, v1.EnvVar{Name: "WAL_BUCKET_SCOPE_SUFFIX", Value: getWALBucketScopeSuffix(string(uid))}) |
361 | 364 | } |
362 | 365 |
|
363 | 366 | if c.OpConfig.EtcdHost == "" { |
@@ -500,6 +503,13 @@ func (c *Cluster) generatePodTemplate( |
500 | 503 | return &template |
501 | 504 | } |
502 | 505 |
|
| 506 | +func getWALBucketScopeSuffix(uid string) string { |
| 507 | + if uid != "" { |
| 508 | + return fmt.Sprintf("-%s", uid) |
| 509 | + } |
| 510 | + return "" |
| 511 | +} |
| 512 | + |
503 | 513 | func makeResources(cpuRequest, memoryRequest, cpuLimit, memoryLimit string) spec.Resources { |
504 | 514 | return spec.Resources{ |
505 | 515 | ResourceRequest: spec.ResourceDescription{ |
@@ -537,7 +547,7 @@ func (c *Cluster) generateStatefulSet(spec *spec.PostgresSpec) (*v1beta1.Statefu |
537 | 547 | customPodEnvVars = cm.Data |
538 | 548 | } |
539 | 549 | } |
540 | | - podTemplate := c.generatePodTemplate(resourceRequirements, resourceRequirementsScalyrSidecar, &spec.Tolerations, &spec.PostgresqlParam, &spec.Patroni, &spec.Clone, &spec.DockerImage, customPodEnvVars) |
| 550 | + podTemplate := c.generatePodTemplate(c.Postgresql.GetUID(), resourceRequirements, resourceRequirementsScalyrSidecar, &spec.Tolerations, &spec.PostgresqlParam, &spec.Patroni, &spec.Clone, &spec.DockerImage, customPodEnvVars) |
541 | 551 | volumeClaimTemplate, err := generatePersistentVolumeClaimTemplate(spec.Volume.Size, spec.Volume.StorageClass) |
542 | 552 | if err != nil { |
543 | 553 | return nil, fmt.Errorf("could not generate volume claim template: %v", err) |
@@ -757,6 +767,7 @@ func (c *Cluster) generateCloneEnvironment(description *spec.CloneDescription) [ |
757 | 767 | result = append(result, v1.EnvVar{Name: "CLONE_METHOD", Value: "CLONE_WITH_WALE"}) |
758 | 768 | result = append(result, v1.EnvVar{Name: "CLONE_WAL_S3_BUCKET", Value: c.OpConfig.WALES3Bucket}) |
759 | 769 | result = append(result, v1.EnvVar{Name: "CLONE_TARGET_TIME", Value: description.EndTimestamp}) |
| 770 | + result = append(result, v1.EnvVar{Name: "CLONE_WAL_BUCKET_SCOPE_SUFFIX", Value: getWALBucketScopeSuffix(description.Uid)}) |
760 | 771 | } |
761 | 772 |
|
762 | 773 | return result |
|
0 commit comments