Merge branch 'master' into add-ignore-slots-dcs-config
This commit is contained in:
commit
38d2efa23b
File diff suppressed because it is too large
Load Diff
|
|
@ -4,6 +4,7 @@ allow_concurrent_steps: true
|
||||||
build_env: &BUILD_ENV
|
build_env: &BUILD_ENV
|
||||||
PYTHON_BASE_IMAGE: container-registry.zalando.net/library/python-3.11-slim
|
PYTHON_BASE_IMAGE: container-registry.zalando.net/library/python-3.11-slim
|
||||||
ALPINE_BASE_IMAGE: container-registry.zalando.net/library/alpine-3
|
ALPINE_BASE_IMAGE: container-registry.zalando.net/library/alpine-3
|
||||||
|
UBUNTU_BASE_IMAGE: container-registry.zalando.net/library/ubuntu-22.04
|
||||||
MULTI_ARCH_REGISTRY: container-registry-test.zalando.net/acid
|
MULTI_ARCH_REGISTRY: container-registry-test.zalando.net/acid
|
||||||
|
|
||||||
pipeline:
|
pipeline:
|
||||||
|
|
@ -126,6 +127,7 @@ pipeline:
|
||||||
|
|
||||||
docker buildx create --config /etc/cdp-buildkitd.toml --driver-opt network=host --bootstrap --use
|
docker buildx create --config /etc/cdp-buildkitd.toml --driver-opt network=host --bootstrap --use
|
||||||
docker buildx build --platform linux/amd64,linux/arm64 \
|
docker buildx build --platform linux/amd64,linux/arm64 \
|
||||||
|
--build-arg BASE_IMAGE="${UBUNTU_BASE_IMAGE}" \
|
||||||
-t ${IMAGE}:${CDP_BUILD_VERSION} \
|
-t ${IMAGE}:${CDP_BUILD_VERSION} \
|
||||||
--push .
|
--push .
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
ARG BASE_IMAGE=registry.opensource.zalan.do/library/ubuntu-22.04:latest
|
ARG BASE_IMAGE=ubuntu:22.04
|
||||||
FROM ${BASE_IMAGE}
|
FROM ${BASE_IMAGE}
|
||||||
LABEL maintainer="Team ACID @ Zalando <team-acid@zalando.de>"
|
LABEL maintainer="Team ACID @ Zalando <team-acid@zalando.de>"
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1293,7 +1293,7 @@ func (c *Cluster) Delete() error {
|
||||||
// If we are done deleting our various resources we remove the finalizer to let K8S finally delete the Postgres CR
|
// If we are done deleting our various resources we remove the finalizer to let K8S finally delete the Postgres CR
|
||||||
if anyErrors {
|
if anyErrors {
|
||||||
c.eventRecorder.Event(c.GetReference(), v1.EventTypeWarning, "Delete", "some resources could be successfully deleted yet")
|
c.eventRecorder.Event(c.GetReference(), v1.EventTypeWarning, "Delete", "some resources could be successfully deleted yet")
|
||||||
return fmt.Errorf("some error(s) occured when deleting resources, NOT removing finalizer yet")
|
return fmt.Errorf("some error(s) occurred when deleting resources, NOT removing finalizer yet")
|
||||||
}
|
}
|
||||||
if err := c.removeFinalizer(); err != nil {
|
if err := c.removeFinalizer(); err != nil {
|
||||||
return fmt.Errorf("done cleaning up, but error when removing finalizer: %v", err)
|
return fmt.Errorf("done cleaning up, but error when removing finalizer: %v", err)
|
||||||
|
|
|
||||||
|
|
@ -1581,8 +1581,8 @@ func newCronJob(image, schedule string, vars []v1.EnvVar, mounts []v1.VolumeMoun
|
||||||
|
|
||||||
func TestCompareLogicalBackupJob(t *testing.T) {
|
func TestCompareLogicalBackupJob(t *testing.T) {
|
||||||
|
|
||||||
img1 := "registry.opensource.zalan.do/acid/logical-backup:v1.0"
|
img1 := "ghcr.io/zalando/postgres-operator/logical-backup:v1.14.0"
|
||||||
img2 := "registry.opensource.zalan.do/acid/logical-backup:v2.0"
|
img2 := "ghcr.io/zalando/postgres-operator/logical-backup:v1.15.1"
|
||||||
|
|
||||||
clientSet := fake.NewSimpleClientset()
|
clientSet := fake.NewSimpleClientset()
|
||||||
acidClientSet := fakeacidv1.NewSimpleClientset()
|
acidClientSet := fakeacidv1.NewSimpleClientset()
|
||||||
|
|
|
||||||
|
|
@ -187,7 +187,7 @@ func (c *Cluster) generateConnectionPoolerAuthSecret(connectionPooler *Connectio
|
||||||
return &v1.Secret{
|
return &v1.Secret{
|
||||||
ObjectMeta: metav1.ObjectMeta{
|
ObjectMeta: metav1.ObjectMeta{
|
||||||
Labels: c.connectionPoolerLabels(connectionPooler.Role, true).MatchLabels,
|
Labels: c.connectionPoolerLabels(connectionPooler.Role, true).MatchLabels,
|
||||||
Name: fmt.Sprintf("%s-userlist", connectionPooler.Name),
|
Name: fmt.Sprintf("%s-u", connectionPooler.Name),
|
||||||
Namespace: connectionPooler.Namespace,
|
Namespace: connectionPooler.Namespace,
|
||||||
Annotations: c.annotationsSet(nil),
|
Annotations: c.annotationsSet(nil),
|
||||||
OwnerReferences: c.ownerReferences(),
|
OwnerReferences: c.ownerReferences(),
|
||||||
|
|
@ -393,15 +393,15 @@ func (c *Cluster) generateConnectionPoolerPodTemplate(role PostgresRole) (
|
||||||
|
|
||||||
// mount secret volume with userlist.txt for pgBouncer to authenticate users
|
// mount secret volume with userlist.txt for pgBouncer to authenticate users
|
||||||
poolerVolumes = append(poolerVolumes, v1.Volume{
|
poolerVolumes = append(poolerVolumes, v1.Volume{
|
||||||
Name: fmt.Sprintf("%s-userlist-volume", c.connectionPoolerName(role)),
|
Name: fmt.Sprintf("%s-u", c.connectionPoolerName(role)),
|
||||||
VolumeSource: v1.VolumeSource{
|
VolumeSource: v1.VolumeSource{
|
||||||
Secret: &v1.SecretVolumeSource{
|
Secret: &v1.SecretVolumeSource{
|
||||||
SecretName: fmt.Sprintf("%s-userlist", c.connectionPoolerName(role)),
|
SecretName: fmt.Sprintf("%s-u", c.connectionPoolerName(role)),
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
})
|
})
|
||||||
volumeMounts = append(volumeMounts, v1.VolumeMount{
|
volumeMounts = append(volumeMounts, v1.VolumeMount{
|
||||||
Name: fmt.Sprintf("%s-userlist-volume", c.connectionPoolerName(role)),
|
Name: fmt.Sprintf("%s-u", c.connectionPoolerName(role)),
|
||||||
MountPath: "/etc/pgbouncer/userlist.txt",
|
MountPath: "/etc/pgbouncer/userlist.txt",
|
||||||
SubPath: "userlist.txt",
|
SubPath: "userlist.txt",
|
||||||
ReadOnly: true,
|
ReadOnly: true,
|
||||||
|
|
@ -1063,7 +1063,7 @@ func (c *Cluster) syncConnectionPoolerWorker(oldSpec, newSpec *acidv1.Postgresql
|
||||||
|
|
||||||
// create extra secret for connection pooler authentication
|
// create extra secret for connection pooler authentication
|
||||||
newAuthSecret = c.generateConnectionPoolerAuthSecret(c.ConnectionPooler[role])
|
newAuthSecret = c.generateConnectionPoolerAuthSecret(c.ConnectionPooler[role])
|
||||||
if authSecret, err = c.KubeClient.Secrets(c.Namespace).Get(context.TODO(), fmt.Sprintf("%s-userlist", c.connectionPoolerName(role)), metav1.GetOptions{}); err == nil {
|
if authSecret, err = c.KubeClient.Secrets(c.Namespace).Get(context.TODO(), fmt.Sprintf("%s-u", c.connectionPoolerName(role)), metav1.GetOptions{}); err == nil {
|
||||||
c.ConnectionPooler[role].AuthSecret = authSecret
|
c.ConnectionPooler[role].AuthSecret = authSecret
|
||||||
// make sure existing annotations are preserved
|
// make sure existing annotations are preserved
|
||||||
newAuthSecret.Annotations = c.annotationsSet(authSecret.Annotations)
|
newAuthSecret.Annotations = c.annotationsSet(authSecret.Annotations)
|
||||||
|
|
@ -1077,7 +1077,7 @@ func (c *Cluster) syncConnectionPoolerWorker(oldSpec, newSpec *acidv1.Postgresql
|
||||||
}
|
}
|
||||||
|
|
||||||
if k8sutil.ResourceNotFound(err) {
|
if k8sutil.ResourceNotFound(err) {
|
||||||
c.logger.Warningf("auth secret %s for connection pooler is not found, create it", fmt.Sprintf("%s-userlist", c.connectionPoolerName(role)))
|
c.logger.Warningf("auth secret %s for connection pooler is not found, create it", fmt.Sprintf("%s-u", c.connectionPoolerName(role)))
|
||||||
authSecret, err = c.KubeClient.
|
authSecret, err = c.KubeClient.
|
||||||
Secrets(newAuthSecret.Namespace).
|
Secrets(newAuthSecret.Namespace).
|
||||||
Create(context.TODO(), newAuthSecret, metav1.CreateOptions{})
|
Create(context.TODO(), newAuthSecret, metav1.CreateOptions{})
|
||||||
|
|
|
||||||
|
|
@ -39,7 +39,7 @@ func (c *Cluster) syncVolumes() error {
|
||||||
} else {
|
} else {
|
||||||
err = c.syncUnderlyingEBSVolume()
|
err = c.syncUnderlyingEBSVolume()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
c.logger.Errorf("errors occured during EBS volume adjustments: %v", err)
|
c.logger.Errorf("errors occurred during EBS volume adjustments: %v", err)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue