This is an automated email from the ASF dual-hosted git repository. leborchuk pushed a commit to branch PG14_ARCHIVE_REBASED in repository https://gitbox.apache.org/repos/asf/cloudberry.git
commit 7816667e5dd7ab5ca247df7d9ec1df0af3b79429 Author: reshke <[email protected]> AuthorDate: Mon Feb 2 13:54:13 2026 +0500 Yezzey test (#8) This import old CI job from open-gpdb/gpdb + yezzey. This merely checks that yezzey and cloudberry compiles together with no issues. As discussed privately we will redesign it later in another PR. Right now we copy existing code from open-gpdb in order to make sure all out future PR is Ok --- .github/workflows/yezzey-test.yml | 21 +++++ docker/yezzey/.dockerignore | 2 + docker/yezzey/Dockerfile | 131 +++++++++++++++++++++++++++++++ docker/yezzey/docker-compose.yaml | 45 +++++++++++ yezzey_test/.minio/certs/CAs/ca.cert.pem | 29 +++++++ yezzey_test/.minio/certs/CAs/ca.cert.srl | 1 + yezzey_test/.minio/certs/CAs/ca.key | 51 ++++++++++++ yezzey_test/.minio/certs/private.key | 51 ++++++++++++ yezzey_test/.minio/certs/public.crt | 29 +++++++ yezzey_test/.minio/certs/server.csr | 27 +++++++ yezzey_test/generate_ssh_key.sh | 6 ++ yezzey_test/import_gpg_keys.sh | 5 ++ yezzey_test/install-wal-g.sh | 20 +++++ yezzey_test/install_yproxy.sh | 20 +++++ yezzey_test/priv.gpg | 105 +++++++++++++++++++++++++ yezzey_test/pub.gpg | 52 ++++++++++++ yezzey_test/run_tests.sh | 75 ++++++++++++++++++ yezzey_test/wal-g-conf.yaml | 12 +++ yezzey_test/yproxy.conf | 25 ++++++ 19 files changed, 707 insertions(+) diff --git a/.github/workflows/yezzey-test.yml b/.github/workflows/yezzey-test.yml new file mode 100644 index 00000000000..4922f6eca84 --- /dev/null +++ b/.github/workflows/yezzey-test.yml @@ -0,0 +1,21 @@ +name: Yezzey testing + +on: + push: + branches: [ "main" ] + pull_request: + branches: [ "main" ] + +jobs: + + build_and_run_yezzey: + + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v4 + + - name: Test Yezzey + run: docker compose -f docker/yezzey/docker-compose.yaml run --build --remove-orphans yezzey + + diff --git a/docker/yezzey/.dockerignore b/docker/yezzey/.dockerignore new file mode 100644 index 00000000000..4e92238e609 --- /dev/null +++ b/docker/yezzey/.dockerignore @@ -0,0 +1,2 @@ +Dockerfile +docker-compose.yaml \ No newline at end of file diff --git a/docker/yezzey/Dockerfile b/docker/yezzey/Dockerfile new file mode 100644 index 00000000000..0b84f13d7bc --- /dev/null +++ b/docker/yezzey/Dockerfile @@ -0,0 +1,131 @@ +FROM ubuntu:focal + +ARG accessKeyId +ARG secretAccessKey +ARG bucketName +ARG s3endpoint +ARG yezzeyRef + +ENV YEZZEY_REF=${yezzeyRef:-v1.8_opengpdb} + +ENV AWS_ACCESS_KEY_ID=${accessKeyId} +ENV AWS_SECRET_ACCESS_KEY=${secretAccessKey} +ENV S3_BUCKET=${bucketName} +ENV WALG_S3_PREFIX=s3://${bucketName}/yezzey-test-files +ENV S3_ENDPOINT=${s3endpoint} + +SHELL ["/bin/bash", "-o", "pipefail", "-c"] +ENV DEBIAN_FRONTEND=noninteractive + +RUN useradd -rm -d /home/gpadmin -s /bin/bash -g root -G sudo -u 1001 gpadmin + +RUN ln -snf /usr/share/zoneinfo/Europe/London /etc/localtime && echo Europe/London > /etc/timezone \ +&& apt-get update -o Acquire::AllowInsecureRepositories=true && apt-get install -y --no-install-recommends --allow-unauthenticated \ + build-essential libssl-dev gnupg devscripts \ + openssl libssl-dev debhelper debootstrap \ + make equivs bison ca-certificates-java ca-certificates \ + cmake curl cgroup-tools flex gcc-8 g++-8 g++-8-multilib \ + git krb5-multidev libapr1-dev libbz2-dev libcurl4-gnutls-dev \ + libevent-dev libkrb5-dev libldap2-dev libperl-dev libreadline6-dev \ + libssl-dev libxml2-dev libyaml-dev libzstd-dev libaprutil1-dev \ + libpam0g-dev libpam0g libcgroup1 libyaml-0-2 libldap-2.4-2 libssl1.1 \ + ninja-build python-dev python-setuptools quilt unzip wget zlib1g-dev libuv1-dev \ + libgpgme-dev libgpgme11 sudo iproute2 less software-properties-common \ + openssh-client openssh-server + +COPY yezzey_test/install_yproxy.sh /home/gpadmin + +RUN ["/home/gpadmin/install_yproxy.sh"] + +RUN apt-get install -y locales \ +&& locale-gen "en_US.UTF-8" \ +&& update-locale LC_ALL="en_US.UTF-8" + +RUN echo 'gpadmin ALL=(ALL) NOPASSWD:ALL' > /etc/sudoers + +USER gpadmin +WORKDIR /home/gpadmin + +COPY yezzey_test/import_gpg_keys.sh /home/gpadmin/ +COPY yezzey_test/priv.gpg /home/gpadmin/yezzey_test/priv.gpg +COPY yezzey_test/pub.gpg /home/gpadmin/yezzey_test/pub.gpg + +RUN ["/home/gpadmin/import_gpg_keys.sh"] + +COPY yezzey_test/generate_ssh_key.sh /home/gpadmin/ + +RUN ["/home/gpadmin/generate_ssh_key.sh"] + + +RUN cd /tmp/ \ +&& git clone https://github.com/boundary/sigar.git \ +&& cd ./sigar/ \ +&& mkdir build && cd build && cmake .. && make \ +&& sudo make install + +COPY . /home/gpadmin + +RUN sudo DEBIAN_FRONTEND=noninteractive apt-get install -y \ + bison \ + ccache \ + cmake \ + curl \ + flex \ + git-core \ + gcc \ + g++ \ + inetutils-ping \ + krb5-kdc \ + krb5-admin-server \ + libapr1-dev \ + libbz2-dev \ + libcurl4-gnutls-dev \ + libevent-dev \ + libkrb5-dev \ + libpam-dev \ + libperl-dev \ + libreadline-dev \ + libssl-dev \ + libxml2-dev \ + libyaml-dev \ + libzstd-dev \ + locales \ + net-tools \ + ninja-build \ + openssh-client \ + openssh-server \ + openssl \ + python3-dev \ + python3-pip \ + python3-psutil \ + python3-pygresql \ + python-yaml \ + zlib1g-dev \ + rsync \ +&& sudo apt install -y libhyperic-sigar-java libaprutil1-dev libuv1-dev + +RUN sudo mkdir /usr/local/gpdb \ +&& sudo chown gpadmin:root /usr/local/gpdb + +RUN sudo chown -R gpadmin:root /home/gpadmin \ +&& git status + +RUN git submodule update --init +RUN rm -fr gpcontrib/yezzey + +# Fetch latest yezzey version +RUN git clone https://github.com/open-gpdb/yezzey.git gpcontrib/yezzey && cd gpcontrib/yezzey && git fetch origin $YEZZEY_REF:test_branch && git checkout test_branch && cd /home/gpadmin +RUN sed -i '/^trusted/d' gpcontrib/yezzey/yezzey.control +RUN ./configure --with-perl --with-python --with-libxml --disable-orca --prefix=/usr/local/gpdb \ +--enable-depend --enable-cassert --enable-debug --without-mdblocales --without-zstd CFLAGS='-fno-omit-frame-pointer -Wno-implicit-fallthrough -O3 -pthread' +RUN make -j8 && make -j8 install && make -C gpcontrib/yezzey -j8 install + + +RUN echo ${s3endpoint} + +RUN sed -i "s/\$AWS_ACCESS_KEY_ID/${accessKeyId}/g" yezzey_test/yproxy.conf \ +&& sed -i "s/\$AWS_SECRET_ACCESS_KEY/${secretAccessKey}/g" yezzey_test/yproxy.conf \ +&& sed -i "s/\$AWS_ENDPOINT/${s3endpoint}/g" yezzey_test/yproxy.conf \ +&& sed -i "s/\$WALG_S3_PREFIX/${bucketName}\/yezzey-test-files/g" yezzey_test/yproxy.conf && cp yezzey_test/yproxy.conf /tmp/yproxy.yaml + +ENTRYPOINT ["./yezzey_test/run_tests.sh"] diff --git a/docker/yezzey/docker-compose.yaml b/docker/yezzey/docker-compose.yaml new file mode 100644 index 00000000000..2562ebeaa0b --- /dev/null +++ b/docker/yezzey/docker-compose.yaml @@ -0,0 +1,45 @@ +services: + minio: + image: quay.io/minio/minio + command: server --console-address ":9001" /data + expose: + - "9000" + - "9001" + environment: + MINIO_ROOT_USER: some_key + MINIO_ROOT_PASSWORD: some_key + healthcheck: + test: ["CMD", "mc", "ready", "local"] + interval: 5s + timeout: 5s + retries: 5 + hostname: minio + + setup-minio: + image: quay.io/minio/mc + depends_on: + minio: + condition: service_healthy + entrypoint: | + /bin/sh -c " + /usr/bin/mc alias set myminio http://minio:9000 some_key some_key + /usr/bin/mc mb myminio/gpyezzey + /usr/bin/mc mb myminio/gpyezzey2 + /usr/bin/mc mb myminio/gpyezzey3 + " + + yezzey: + image: yezzey + build: + context: ../.. + dockerfile: docker/yezzey/Dockerfile + args: + accessKeyId: some_key + secretAccessKey: some_key + bucketName: gpyezzey + s3endpoint: "http:\\/\\/minio:9000" + depends_on: + minio: + condition: service_healthy + setup-minio: + condition: service_completed_successfully diff --git a/yezzey_test/.minio/certs/CAs/ca.cert.pem b/yezzey_test/.minio/certs/CAs/ca.cert.pem new file mode 100755 index 00000000000..e9f2f1d73ee --- /dev/null +++ b/yezzey_test/.minio/certs/CAs/ca.cert.pem @@ -0,0 +1,29 @@ +-----BEGIN CERTIFICATE----- +MIIE/TCCAuWgAwIBAgIUU9e6chP84r3iZk3JtvnWb1V2N1YwDQYJKoZIhvcNAQEL +BQAwDTELMAkGA1UEBhMCUlUwIBcNMjMwMzEwMDgzNTUzWhgPMzAyMjA3MTEwODM1 +NTNaMA0xCzAJBgNVBAYTAlJVMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKC +AgEAwJuy394cK127yT8nGHVPKF6TG6xL0WpxahyaKwIYp5lbv9wDvzjMPE7KmONU +8GhCFUdEJTRqBkaRdZNYxnOUxufU3+jIf1hq1Csg8q1NXICVWVwfFL2F5mKHgeHQ +n3FaJM2pZQ5iIWFY1c18MgV8qqNWbtyLeppcyZOL9duLM9A8XpYb0JOZis82d+lh +kcxzE1XM+MZEgZfHImh0zod9OMtSAOwQzVXpiA3JO/eHkLQGYcy6KNTm42mubVlX +kBcu/BplnP7gXGOYDt/JyRhGSLAfn762+jRbAlAvbPzOy67hc4pW7aloU5zPBhYf +BaTxM9UPqPtyp7Lxkp9HL68QXtm5MobDuDtZ6ePQtHgHrl7P7PXvEUPwK7BZzgZy +MerVhxIssutA2yBCuu5T7dMSwIsUdvXtgdHRdHDwn1D/V1CxnujDv9l6/T3sCmRv +tWPwTOCUf5BLLw6N6TnSsVR5I9NALKCLYE8LsfCuLdyi363JZqubkdJr1Ro8yI5J +m0GX5pypwZJPV2Ivt6kKVTQiN2hoWNe+3TNPS+7ysqit37s71YRDajZaZ55DopmF ++oIYdA3MqUZEVZyKFifWvo/l2gYarlEtcEJl++OwydirWLAjCPHh9UvDhjKS43bQ +zSlRC+d4CfRqXftmETHVAxMokai3WvAdUpJrW2RrjiuR0MkCAwEAAaNTMFEwHQYD +VR0OBBYEFJGDr6xmoKJFU6cgS90aFg6lUGbhMB8GA1UdIwQYMBaAFJGDr6xmoKJF +U6cgS90aFg6lUGbhMA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQELBQADggIB +ACj87ymjBlgY9UZTUbudHREPPXfqMi2TgWt5hygQSiTrNeQOodnq+Swp86qX/y8w +xtnvc+iILfFnh9ZevHKmLx+JziN4kD4ywEpHW7zS7c3+2QEjIZUwj5qlIg0ByOBd +0M/kpimmuTwlDylBaY12GcFlZcsbuezzm4hU+0qoCV/zi2DvSdAPKXMAeZ3lOkde +PUYJUpRz/QkkxEhSdM3BQYI51mUiltCHMhe6COoN4MHV7tix0Pj9vPjhAVN/4sot +2PgUiCwY8eNQugZhpTosMTSBLZvg/EKG+4slY75/voNTIxWHAHmnPMOAzVgNTya0 +/eP6NB3MCjFuY2E+fGox9YTomjI5oxBr+1LlwVy7wbwXTrgBz9Z4izScAsVbPrk6 +jSrqNeNWK1f+JVnYZkjgPGgPaQVCJ22vdLmkW7U/ATdeedQS3RCApMnb9VCRTUaO +eY4ccuEvj0huhdcUguw6fBjrhPjoPxKMn6S93ginW8Wz9vo8qLkEg2NtQDFu1Omb +cJM5F8uLRr8NotPV5QPg1koHeBv/N2WTRZiUoavAogR9XdyOtrB8+MBu1nsp4Goi +7/suv9XzMJ7IpgXiQfCM++1x7oooyWWdeFTCzqNDJ1IbQDeOCc9cQgeOAPWcIqWO +nAWt08+eToI1YUvjl6UT0bpVaJEACv+/HfBr1T26u4Jh +-----END CERTIFICATE----- diff --git a/yezzey_test/.minio/certs/CAs/ca.cert.srl b/yezzey_test/.minio/certs/CAs/ca.cert.srl new file mode 100755 index 00000000000..977dab4a3e7 --- /dev/null +++ b/yezzey_test/.minio/certs/CAs/ca.cert.srl @@ -0,0 +1 @@ +53DAAE29A25C5BE967A9E9631F0572E17AC92211 diff --git a/yezzey_test/.minio/certs/CAs/ca.key b/yezzey_test/.minio/certs/CAs/ca.key new file mode 100755 index 00000000000..a0fc44ee422 --- /dev/null +++ b/yezzey_test/.minio/certs/CAs/ca.key @@ -0,0 +1,51 @@ +-----BEGIN RSA PRIVATE KEY----- +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 +-----END RSA PRIVATE KEY----- diff --git a/yezzey_test/.minio/certs/private.key b/yezzey_test/.minio/certs/private.key new file mode 100755 index 00000000000..9d12f84dfa7 --- /dev/null +++ b/yezzey_test/.minio/certs/private.key @@ -0,0 +1,51 @@ +-----BEGIN RSA PRIVATE KEY----- +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 +-----END RSA PRIVATE KEY----- diff --git a/yezzey_test/.minio/certs/public.crt b/yezzey_test/.minio/certs/public.crt new file mode 100755 index 00000000000..4da1db77d25 --- /dev/null +++ b/yezzey_test/.minio/certs/public.crt @@ -0,0 +1,29 @@ +-----BEGIN CERTIFICATE----- +MIIE6jCCAtICFFParimiXFvpZ6npYx8FcuF6ySIRMA0GCSqGSIb3DQEBCwUAMA0x +CzAJBgNVBAYTAlJVMB4XDTIzMDgxMTA5MzA1MFoXDTI0MDgxMDA5MzA1MFowVjEL +MAkGA1UEBhMCUlUxDTALBgNVBAgMBFRlc3QxDTALBgNVBAcMBFRlc3QxDTALBgNV +BAoMBFRlc3QxDTALBgNVBAsMBFRlc3QxCzAJBgNVBAMMAnMzMIICIjANBgkqhkiG +9w0BAQEFAAOCAg8AMIICCgKCAgEA1WMTewnKOrmE6ceR+rDY2+IK57DktPou0KlJ ++Cir5RjsCrh/mD8rNCJCVQ0ytV8EHUlnfJBcSnZRuKZHDTeaYAmKYe0Wcqey+bzA +KG9+W3kNvFm07Q/MIEAU4eGoeMtZpG91ZU9Jml45siJz7pZArnIrZdOwixBiu8oa +66b88Dz/mHDKJTgex9q27mYFERWu51ORAIchCLIQ9xKdMqR99irHKvGtC6TN5o6A +NfTXmhVuVm4X7Q6aeeDdmsOoP/KKmK/0yYvTunyfEhyaoEBw/aQmltfuEilMxrOz +GoAY1iJbHuXVtzYqkEomrmGXa7pStUoq3Ruu5PLVU+zEYqxVurYQTz0cWQZxo8BQ +dGbdmKiwu/NLoc6WA2dUHdVKB9cDnRQXfKXWO8TZOKCIJiQLzGsUW8Jq6kstiaE7 +IQL9LBZbSWxGScgkneDE+CucgSjD5PwDMZ5R6RXPVxdh9CHfNIytESa1zb1H/d+U +51xDRk6qkQbOAh5gt241mlekv1HYarRkwx8v0iiRa6ecmaGmnAA3SYRZYV6yYf1c +o+0Svm9EEG9fbZMHLmTExpz6xPwg5EsJ2jMgsJP6My2LKJ5TVoUCV7S+Cz5tXFyJ +yHmtedSTaeC+flt5A+9nYQKuk92mh2t/XaSCRDFugERUFAlEAvag0+06qhbVyt69 +fMGozzkCAwEAATANBgkqhkiG9w0BAQsFAAOCAgEAipaTRZxvDImsu/pwxSHEkKFz +ndKt84oEeuWRBo+sT5wZAcUJicz0tHVULwhXiqwMRC06LBqFxGzI/srokK2QiN5B +eikQvWEsr08tZuVm1ewNit6JzlwbaLOJc4DSTgJtWXKjWaIzqWsFl36ViLO55yTb +NgMgmpDhBl6hQ7yKtaSVJ+xiMKSd9nz6gRmJMz7sLchFmy3fTYtayUJcaDsFjEm6 +yTYM1oWj05xVcZJtASB8Bcp+XgeOdNbwvvTGrM2ctDC1GkPCK4X63GJfAuCv6lnV +ggzr2Z8dg/YVLCbmyvJq4n+rwNbVDebQBzRzyU9id0dRccyfPQzB69LPYcrMFzd7 +h97i5Vk7Ar66VeKxdw3Lbyl91yTUy7e7EdYkBrlPzMohRcuCEsFPaUdOoiy3dmUX +PeaubgtJpaNlVbp08rdGAgcrY4aqmvVM+tlKWfgiEnVmQ4vKTcrITnhintvttXyh +GrddsvKAE0m1rDpfd9BqXH4FEydFHoL7oMpKHnu9LUQsPHnwGvpq75KUN4j2nP4P +NIEmmqOr5SY9zcp9HQApxWPscQckb9aCIDZ8MMrceNSxRtU+bw0xNs+IILGx6dNA +cK+bDLPtMneno6XXDqqiitE2ohXf5WIeB3kPLOsp3awVhr/g+pqjMSSjyUEC+KXr +dkqHW3oKT52eCNzR350= +-----END CERTIFICATE----- diff --git a/yezzey_test/.minio/certs/server.csr b/yezzey_test/.minio/certs/server.csr new file mode 100755 index 00000000000..c223c34efb9 --- /dev/null +++ b/yezzey_test/.minio/certs/server.csr @@ -0,0 +1,27 @@ +-----BEGIN CERTIFICATE REQUEST----- +MIIEmzCCAoMCAQAwVjELMAkGA1UEBhMCUlUxDTALBgNVBAgMBFRlc3QxDTALBgNV +BAcMBFRlc3QxDTALBgNVBAoMBFRlc3QxDTALBgNVBAsMBFRlc3QxCzAJBgNVBAMM +AnMzMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA1WMTewnKOrmE6ceR ++rDY2+IK57DktPou0KlJ+Cir5RjsCrh/mD8rNCJCVQ0ytV8EHUlnfJBcSnZRuKZH +DTeaYAmKYe0Wcqey+bzAKG9+W3kNvFm07Q/MIEAU4eGoeMtZpG91ZU9Jml45siJz +7pZArnIrZdOwixBiu8oa66b88Dz/mHDKJTgex9q27mYFERWu51ORAIchCLIQ9xKd +MqR99irHKvGtC6TN5o6ANfTXmhVuVm4X7Q6aeeDdmsOoP/KKmK/0yYvTunyfEhya +oEBw/aQmltfuEilMxrOzGoAY1iJbHuXVtzYqkEomrmGXa7pStUoq3Ruu5PLVU+zE +YqxVurYQTz0cWQZxo8BQdGbdmKiwu/NLoc6WA2dUHdVKB9cDnRQXfKXWO8TZOKCI +JiQLzGsUW8Jq6kstiaE7IQL9LBZbSWxGScgkneDE+CucgSjD5PwDMZ5R6RXPVxdh +9CHfNIytESa1zb1H/d+U51xDRk6qkQbOAh5gt241mlekv1HYarRkwx8v0iiRa6ec +maGmnAA3SYRZYV6yYf1co+0Svm9EEG9fbZMHLmTExpz6xPwg5EsJ2jMgsJP6My2L +KJ5TVoUCV7S+Cz5tXFyJyHmtedSTaeC+flt5A+9nYQKuk92mh2t/XaSCRDFugERU +FAlEAvag0+06qhbVyt69fMGozzkCAwEAAaAAMA0GCSqGSIb3DQEBCwUAA4ICAQCw +gv4AQ9xh+LP16NQ0QCZ7QM8y6cA7jb7yqc8G+gvTjbacsuxpfI7qiJHx/Aon/ReL +D3Lra+HKzQticJaqFQEiXE6kXWB4DndP7hY7MF0R3xlBvNWyS8Q6Nr3m6IQiJx1Q +qd2Fgc7341wOMf3XMW/E1XUEsnzL8pWrKI+lvHAMI3u2KvsqwTtWtFJ4HMQoab7D +Xi4QYVk/DMF/lirPgcm1xnDZP07f7lzIGasO42XOBW1nV33w3bqVjRfKLZnbCs0Q +IOecmfseUBER9ycTUnFHN99BGx1SmTtXmqoeQIwijIvMoBNtEsOskqhW1+snFlNO +st9pyjwhuASvSWDFbEsaC1tl+5oTK31XMrxs99TDRoPMY1UwVFbrXrc+XWP1MSwg +0SB2c2DnLwGT9Lp9w1+epn9oa95B5JskwRp86Lbf5y+XV7W3Vp/vCzQ+db2sUHuT +bEUpNJl/KcxxseMMkpIJy83w17RhlRsgMKvAQtftYWX/z/RHyGKWHHPPoxEJaKyc +hm+X65QJd8QoOd/IXnkCMTQZocpQxoKBbYqdTBDxYfXnTILWHRUb0OfmjS9fEmBE +UqYdwNawOIXKlPsI/JseO132C3TtxjmkqMSNixTFyRvpoqy+/wFul3QA+yF2eCM0 +pfKcr8QsHn8WEVqjEmyQiM1ixrDIgIDc1jurvLX2cA== +-----END CERTIFICATE REQUEST----- diff --git a/yezzey_test/generate_ssh_key.sh b/yezzey_test/generate_ssh_key.sh new file mode 100755 index 00000000000..1df4cf14b60 --- /dev/null +++ b/yezzey_test/generate_ssh_key.sh @@ -0,0 +1,6 @@ +#!/bin/bash +set -ex + +ssh-keygen -f ~/.ssh/id_rsa -N '' +cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys +chmod 600 ~/.ssh/authorized_keys diff --git a/yezzey_test/import_gpg_keys.sh b/yezzey_test/import_gpg_keys.sh new file mode 100755 index 00000000000..fc351a3b416 --- /dev/null +++ b/yezzey_test/import_gpg_keys.sh @@ -0,0 +1,5 @@ +#!/bin/bash +set -ex + +gpg --import yezzey_test/pub.gpg +gpg --import yezzey_test/priv.gpg diff --git a/yezzey_test/install-wal-g.sh b/yezzey_test/install-wal-g.sh new file mode 100755 index 00000000000..bfad4e82a58 --- /dev/null +++ b/yezzey_test/install-wal-g.sh @@ -0,0 +1,20 @@ +#!/bin/bash +set -ex + +# Install latest Go compiler +sudo add-apt-repository ppa:longsleep/golang-backports +sudo apt update +sudo apt install -y golang-go + +# Install lib dependencies +sudo apt install -y libbrotli-dev liblzo2-dev libsodium-dev curl cmake + +# Fetch project and build +git clone https://github.com/wal-g/wal-g.git +cd wal-g +make deps +make gp_build +mv main/gp/wal-g /usr/bin/wal-g + +#Check the installation +wal-g --version diff --git a/yezzey_test/install_yproxy.sh b/yezzey_test/install_yproxy.sh new file mode 100755 index 00000000000..9e3abd1d9cd --- /dev/null +++ b/yezzey_test/install_yproxy.sh @@ -0,0 +1,20 @@ +#!/bin/bash +set -ex + +# Install latest Go compiler +sudo add-apt-repository ppa:longsleep/golang-backports +sudo apt update +sudo apt install -y golang-go + +# Install lib dependencies +sudo apt install -y libbrotli-dev liblzo2-dev libsodium-dev curl cmake + +# Fetch project and build +git clone https://github.com/open-gpdb/yproxy.git +cd yproxy +make build + +mv devbin/yproxy /usr/bin/yproxy + +#Check the installation +yproxy --version diff --git a/yezzey_test/priv.gpg b/yezzey_test/priv.gpg new file mode 100644 index 00000000000..1b9727a319c --- /dev/null +++ b/yezzey_test/priv.gpg @@ -0,0 +1,105 @@ +-----BEGIN PGP PRIVATE KEY BLOCK----- + +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 +=uAYd +-----END PGP PRIVATE KEY BLOCK----- diff --git a/yezzey_test/pub.gpg b/yezzey_test/pub.gpg new file mode 100644 index 00000000000..139122aea2a --- /dev/null +++ b/yezzey_test/pub.gpg @@ -0,0 +1,52 @@ +-----BEGIN PGP PUBLIC KEY BLOCK----- + +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 +zy/bfBut8UI= +=x2ib +-----END PGP PUBLIC KEY BLOCK----- diff --git a/yezzey_test/run_tests.sh b/yezzey_test/run_tests.sh new file mode 100755 index 00000000000..68dff441c49 --- /dev/null +++ b/yezzey_test/run_tests.sh @@ -0,0 +1,75 @@ +#!/bin/bash +set -ex + +eval "$(ssh-agent -s)" +ssh-add ~/.ssh/id_rsa +sudo service ssh start +ssh -o StrictHostKeyChecking=no gpadmin@$(hostname) "echo 'Hello world'" + +sudo bash -c 'cat >> /etc/ld.so.conf <<-EOF +/usr/local/lib + +EOF' +sudo ldconfig + +sudo bash -c 'cat >> /etc/sysctl.conf <<-EOF +kernel.shmmax = 500000000 +kernel.shmmni = 4096 +kernel.shmall = 4000000000 +kernel.sem = 500 1024000 200 4096 +kernel.sysrq = 1 +kernel.core_uses_pid = 1 +kernel.msgmnb = 65536 +kernel.msgmax = 65536 +kernel.msgmni = 2048 +net.ipv4.tcp_syncookies = 1 +net.ipv4.ip_forward = 0 +net.ipv4.conf.default.accept_source_route = 0 +net.ipv4.tcp_tw_recycle = 1 +net.ipv4.tcp_max_syn_backlog = 4096 +net.ipv4.conf.all.arp_filter = 1 +net.ipv4.ip_local_port_range = 1025 65535 +net.core.netdev_max_backlog = 10000 +net.core.rmem_max = 2097152 +net.core.wmem_max = 2097152 +vm.overcommit_memory = 2 + +EOF' + +sudo bash -c 'cat >> /etc/security/limits.conf <<-EOF +* soft nofile 65536 +* hard nofile 65536 +* soft nproc 131072 +* hard nproc 131072 + +EOF' + +export GPHOME=/usr/local/gpdb +source $GPHOME/cloudberry-env.sh +ulimit -n 65536 +make destroy-demo-cluster && make create-demo-cluster +export USER=gpadmin +source gpAux/gpdemo/gpdemo-env.sh + +gpconfig -c shared_preload_libraries -v yezzey + +gpstop -a -i && gpstart -a + +createdb $USER + + +gpconfig -c yezzey.yproxy_socket -v "'/tmp/yproxy.sock'" +psql -c "ALTER SYSTEM SET yezzey.use_gpg_crypto TO false" +gpconfig -c yezzey.use_otm_feature -v "true" +gpconfig -c yezzey.use_gpg_crypto -v "false" + +gpstop -a -i && gpstart -a + +#run yproxy in daemon mode +/usr/bin/yproxy -c /tmp/yproxy.yaml -ldebug > yproxy.log 2>&1 & + +i=0 +while (! [ -S /tmp/yproxy.sock ]) && [ $i -lt 20 ]; do sleep 1; i=$(($i+1)) ; done + +cd gpcontrib/yezzey +make installcheck || (echo Yproxy logs; cat ../../yproxy.log; cat /home/gpadmin/gpcontrib/yezzey/regression.diffs && exit 1) diff --git a/yezzey_test/wal-g-conf.yaml b/yezzey_test/wal-g-conf.yaml new file mode 100644 index 00000000000..8de5c4c2159 --- /dev/null +++ b/yezzey_test/wal-g-conf.yaml @@ -0,0 +1,12 @@ +AWS_ACCESS_KEY_ID: "$AWS_ACCESS_KEY_ID" +AWS_SECRET_ACCESS_KEY: "$AWS_SECRET_ACCESS_KEY" +AWS_ENDPOINT: "$AWS_ENDPOINT" +AWS_S3_FORCE_PATH_STYLE: true + +WALG_COMPRESSION_METHOD: "brotli" +WALG_DELTA_MAX_STEPS: 6 +WALG_UPLOAD_CONCURRENCY: 10 +WALG_DISK_RATE_LIMIT: 41943040 +WALG_NETWORK_RATE_LIMIT: 10485760 +WALG_S3_PREFIX: "$WALG_S3_PREFIX" +WALG_PGP_KEY_PATH: "/home/gpadmin/yezzey_test/priv.gpg" diff --git a/yezzey_test/yproxy.conf b/yezzey_test/yproxy.conf new file mode 100644 index 00000000000..855c3fce7d7 --- /dev/null +++ b/yezzey_test/yproxy.conf @@ -0,0 +1,25 @@ +socket_path: "/tmp/yproxy.sock" +interconnect_socket_path: "/tmp/ic.sock" +log_level: debug + +storage: + access_key_id: "$AWS_ACCESS_KEY_ID" + secret_access_key: "$AWS_SECRET_ACCESS_KEY" + storage_endpoint: "$AWS_ENDPOINT" + storage_prefix: "" + storage_bucket: "gpyezzey" + storage_region: "us-west-2" + storage_type: "s3" + tablespace_map: + "pg_default": "gpyezzey" + "tab1": "gpyezzey2" + "tab2": "gpyezzey3" + +backup_storage: + access_key_id: "$AWS_ACCESS_KEY_ID" + secret_access_key: "$AWS_SECRET_ACCESS_KEY" + storage_endpoint: "$AWS_ENDPOINT" + storage_prefix: "" + storage_bucket: "gpyezzey" + storage_region: "us-west-2" + storage_type: "s3" --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
