From 9be0a762553f814f1b467dfd4cafb24e426968c5 Mon Sep 17 00:00:00 2001 From: Gareth Clay Date: Mon, 10 May 2021 15:24:08 +0100 Subject: [PATCH] Scale Toolsmiths environment for ATs * Scale to 3 Diego cells to handle AT workload * Rich Gradle output for ATs in CI * Clean more things in clean-env.sh --- ci/images/release-ci-image/Dockerfile | 3 + ci/scripts/acceptance-tests.sh | 36 ++++++--- scripts/clean-env.sh | 104 ++++++++++++++++++++++++++ 3 files changed, 134 insertions(+), 9 deletions(-) create mode 100755 scripts/clean-env.sh diff --git a/ci/images/release-ci-image/Dockerfile b/ci/images/release-ci-image/Dockerfile index a67fca0..a52282a 100644 --- a/ci/images/release-ci-image/Dockerfile +++ b/ci/images/release-ci-image/Dockerfile @@ -21,3 +21,6 @@ RUN cd /usr/local/bin && curl -L https://github.com/cloudfoundry-incubator/credh RUN curl -L https://github.com/cloudfoundry/bosh-bootloader/releases/download/v8.4.40/bbl-v8.4.40_linux_x86-64 --output /usr/local/bin/bbl && \ chmod +x /usr/local/bin/bbl + +RUN curl -L https://github.com/cloudfoundry/bosh-cli/releases/download/v6.4.3/bosh-cli-6.4.3-linux-amd64 --output /usr/local/bin/bosh && \ + chmod +x /usr/local/bin/bosh diff --git a/ci/scripts/acceptance-tests.sh b/ci/scripts/acceptance-tests.sh index fea5b36..b17e51e 100755 --- a/ci/scripts/acceptance-tests.sh +++ b/ci/scripts/acceptance-tests.sh @@ -7,6 +7,7 @@ readonly DEFAULT_ORG="${DEFAULT_ORG:?must be set}" readonly DEFAULT_SPACE="${DEFAULT_SPACE:?must be set}" readonly SKIP_SSL_VALIDATION="${SKIP_SSL_VALIDATION:?must be set}" readonly ONLY_SHOW_STANDARD_STREAMS_ON_TEST_FAILURE="${ONLY_SHOW_STANDARD_STREAMS_ON_TEST_FAILURE:-true}" +readonly DEPLOYMENT_DIRECTORY="$(mktemp -d)" declare API_HOST readonly API_PORT=443 @@ -21,12 +22,28 @@ discover_environment() { eval "$(bbl print-env --metadata-file "$TOOLSMITH_ENV_INPUT/metadata")" - API_HOST="$(jq -r .cf.api_url < "$TOOLSMITH_ENV_INPUT/metadata")" + API_HOST="$(jq -r .cf.api_url <"$TOOLSMITH_ENV_INPUT/metadata")" PASSWORD="$(credhub get -n "/bosh-${env_name}/cf/cf_admin_password" -q)" CLIENT_SECRET="$(credhub get -n "/bosh-${env_name}/cf/uaa_admin_client_secret" -q)" } -prepare_environment() { +prepare_cf_deployment() { + pushd "$DEPLOYMENT_DIRECTORY" > /dev/null + + bosh --deployment cf manifest > manifest.yml + + cat << EOF > ops.yml +- type: replace + path: /instance_groups/name=diego-cell/instances + value: 3 +EOF + + bosh --non-interactive --deployment cf deploy --ops-file ops.yml manifest.yml + + popd > /dev/null +} + +prepare_cf() { local test_instances_org test_instances_org="$DEFAULT_ORG-instances" @@ -50,9 +67,9 @@ run_tests() { export SPRING_CLOUD_APPBROKER_ACCEPTANCETEST_CLOUDFOUNDRY_DEFAULT_SPACE="${DEFAULT_SPACE}" export SPRING_CLOUD_APPBROKER_ACCEPTANCETEST_CLOUDFOUNDRY_SKIP_SSL_VALIDATION="${SKIP_SSL_VALIDATION}" export TESTS_BROKERAPPPATH=build/libs/spring-cloud-app-broker-acceptance-tests.jar - ./gradlew -PacceptanceTests \ - -PonlyShowStandardStreamsOnTestFailure="${ONLY_SHOW_STANDARD_STREAMS_ON_TEST_FAILURE}" \ - :spring-cloud-app-broker-acceptance-tests:test + ./gradlew --console rich -PacceptanceTests \ + -PonlyShowStandardStreamsOnTestFailure="${ONLY_SHOW_STANDARD_STREAMS_ON_TEST_FAILURE}" \ + :spring-cloud-app-broker-acceptance-tests:test } main() { @@ -61,11 +78,12 @@ main() { echo "Running tests against $API_HOST" echo - prepare_environment + prepare_cf_deployment + prepare_cf - pushd "git-repo" > /dev/null - run_tests - popd > /dev/null + pushd "git-repo" >/dev/null + run_tests + popd >/dev/null } main diff --git a/scripts/clean-env.sh b/scripts/clean-env.sh new file mode 100755 index 0000000..2383487 --- /dev/null +++ b/scripts/clean-env.sh @@ -0,0 +1,104 @@ +#!/usr/bin/env bash + +TEST_ORG=test +TEST_INSTANCES_ORG=test-instances +TEST_SPACE=development +GENERATED_SPACE=$1 + +cf target -o ${TEST_ORG} -s ${TEST_SPACE} + +cf purge-service-instance -f backing-service-instance-created +cf purge-service-instance -f backing-service-instance-existing +cf purge-service-instance -f backing-service-instance-update +cf purge-service-instance -f backing-service-instance-new +cf purge-service-instance -f backing-service-instance-old +cf purge-service-instance -f backing-si-cb193dd5-5f96-4337-8274-3aab71a71145 +cf purge-service-instance -f backing-si-75490152-99e2-4d8e-a610-3450c9592633 +cf purge-service-instance -f si-create +cf purge-service-instance -f si-create-create-si-guid +cf purge-service-instance -f si-create-oauth2 +cf purge-service-instance -f si-create-params +cf purge-service-instance -f si-create-space-per +cf purge-service-instance -f si-create-services +cf purge-service-instance -f si-update-domain +cf purge-service-instance -f si-update-services +cf purge-service-instance -f si-update +cf purge-service-instance -f si-update-with-new-services +cf purge-service-instance -f si-binding + +cf d -f app-update +cf d -f app-update-domain +cf d -f app-create-services +cf d -f app-update-services +cf d -f app-create-oauth2 +cf d -f app-create-cr-862a81c0-18a8-4359-aa78-79c50a88cc00 +cf d -f app-create-cr-75490152-99e2-4d8e-a610-3450c9592633 +cf d -f app-create-2 +cf d -f app-create-1 +cf d -f app-create-params +cf d -f test-broker-app-update-with-new-services +cf d -f backing-app-binding +cf d -f bound-app +cf d -f app-update-with-new-services +cf d -f app-create-cr-cb193dd5-5f96-4337-8274-3aab71a71145 + +cf delete-orphaned-routes -f + +cf target -o ${TEST_ORG} -s ${GENERATED_SPACE} +cf purge-service-instance -f si-create-services +cf purge-service-instance -f backing-service-space-per-target +cf d -f app-create-space-per1 +cf delete-orphaned-routes -f +cf apps +cf services +cf routes + +cf target -o ${TEST_ORG} -s ${TEST_SPACE} +cf delete-space -f ${GENERATED_SPACE} + +cf spaces +cf apps +cf services +cf routes + +cf target -o ${TEST_INSTANCES_ORG} -s ${TEST_SPACE} +cf purge-service-instance -f si-create +cf purge-service-instance -f si-create-create-si-guid +cf purge-service-instance -f si-create-oauth2 +cf purge-service-instance -f si-create-params +cf purge-service-instance -f si-create-services +cf purge-service-instance -f si-create-space-per +cf purge-service-instance -f si-managedapp-management-restage +cf purge-service-instance -f si-managedapp-management-restart +cf purge-service-instance -f si-managedapp-management-start +cf purge-service-instance -f si-managedapp-management-stop +cf purge-service-instance -f si-update +cf purge-service-instance -f si-update-domain +cf purge-service-instance -f si-update-services +cf purge-service-instance -f si-update-target +cf purge-service-instance -f si-update-with-new-services +cf purge-service-instance -f si-upgrade + +cf spaces +cf apps +cf services +cf routes + +cf target -o system -s system + +cf delete-org -f ${TEST_INSTANCES_ORG} +cf create-org ${TEST_INSTANCES_ORG} +cf target -o ${TEST_INSTANCES_ORG} +cf create-space ${TEST_SPACE} + +cf delete-org -f ${TEST_ORG} +cf create-org ${TEST_ORG} +cf target -o ${TEST_ORG} +cf create-space ${TEST_SPACE} + +cf target -o ${TEST_ORG} -s ${TEST_SPACE} + +cf delete-service-broker test-broker-create-instance-space-per-si -f +cf delete-service-broker test-broker-create-instance-with-services -f +cf delete-service-broker test-broker-update-with-new-services -f +cf delete-service-broker test-broker-update-with-new-services-and-target -f