diff --git a/e2e/requirements.txt b/e2e/requirements.txt index 4f6f5ac5f..6b6f2039b 100644 --- a/e2e/requirements.txt +++ b/e2e/requirements.txt @@ -1,3 +1,4 @@ kubernetes==11.0.0 timeout_decorator==0.4.1 pyyaml==5.3.1 +minio=6.0.0 \ No newline at end of file diff --git a/e2e/run.sh b/e2e/run.sh index 81d58613a..fe3e93fc2 100755 --- a/e2e/run.sh +++ b/e2e/run.sh @@ -55,6 +55,7 @@ function deploy_minio(){ echo "Deploying MinIO object storage..." /tmp/helm-postgres-operator-e2e-tests/helm repo update /tmp/helm-postgres-operator-e2e-tests/helm install --generate-name minio/minio + kubectl create file manifests/minio-configmap.yaml } function run_tests(){ diff --git a/e2e/tests/test_e2e.py b/e2e/tests/test_e2e.py index 550d3ced8..c43d849b8 100644 --- a/e2e/tests/test_e2e.py +++ b/e2e/tests/test_e2e.py @@ -10,6 +10,9 @@ import yaml from datetime import datetime from kubernetes import client, config +from minio import Minio +from minio.error import ResponseError + def to_selector(labels): return ",".join(["=".join(l) for l in labels.items()]) @@ -36,6 +39,18 @@ class EndToEndTestCase(unittest.TestCase): ''' print("Test Setup being executed") + # create Minio bucket to store WAL + minioClient = Minio( + 'play.min.io', + access_key=os.environ['ACCESS_KEY'], + secret_key=os.environ['SECRET_KEY'] + ) + + try: + minioClient.make_bucket("minio/wal", location="us-east-1") + except ResponseError as err: + raise + # set a single K8s wrapper for all tests k8s = cls.k8s = K8s() diff --git a/manifests/configmap.yaml b/manifests/configmap.yaml index 970f845bf..fd6225da8 100644 --- a/manifests/configmap.yaml +++ b/manifests/configmap.yaml @@ -77,7 +77,7 @@ data: pdb_name_format: "postgres-{cluster}-pdb" # pod_antiaffinity_topology_key: "kubernetes.io/hostname" pod_deletion_wait_timeout: 10m - # pod_environment_configmap: "default/my-custom-config" + pod_environment_configmap: "default/minio-configmap" # example used in e2e tests # pod_environment_secret: "my-custom-secret" pod_label_wait_timeout: 10m pod_management_policy: "ordered_ready" @@ -112,6 +112,6 @@ data: # teams_api_url: http://fake-teams-api.default.svc.cluster.local # toleration: "" # wal_gs_bucket: "" - # wal_s3_bucket: "" + wal_s3_bucket: "minio/wal" watched_namespace: "*" # listen to all namespaces workers: "8" diff --git a/manifests/minio-configmap.yaml b/manifests/minio-configmap.yaml new file mode 100644 index 000000000..bd7660e73 --- /dev/null +++ b/manifests/minio-configmap.yaml @@ -0,0 +1,7 @@ +apiVersion: v1 +kind: ConfigMap +metadata: + name: minio-configmap +data: + MINIO_ACCESS_KEY: WU9VUkFDQ0VTU0tFWQo= + MINIO_SECRET_KEY: WU9VUlNFQ1JFVEtFWQo=