diff --git a/.github/workflows/run_broker_performance_cluster.yaml b/.github/workflows/run_broker_performance_cluster.yaml index 487310d3c..1156d0cc2 100644 --- a/.github/workflows/run_broker_performance_cluster.yaml +++ b/.github/workflows/run_broker_performance_cluster.yaml @@ -126,13 +126,250 @@ jobs: # aws ec2 start-instances --instance-ids i-0c5dccd394ed9be18 # aws ec2 start-instances --instance-ids i-04c1c50b3e4952266 # - terraform_mysql: +# terraform_mysql: +# runs-on: ubuntu-latest +# +# outputs: +# mysql_ip: ${{ steps.mysql_ip.outputs.mysql_ip }} +# mysql_url: ${{ steps.mysql_url.outputs.mysql_url }} +# steps: +# - name: Checkout tf-test-automation +# uses: actions/checkout@v2 +# with: +# repository: emqx/tf-test-automation +# ref: emqx-broker +# path: tf-test-automation +# - name: Setup Terraform +# uses: hashicorp/setup-terraform@v1.3.2 +# with: +# terraform_wrapper: false +# - name: Terraform Init tf-test-automation +# working-directory: ./tf-test-automation/services/mysql +# id: init1 +# run: | +# terraform init --backend-config="access_key=${{ secrets.AWS_ACCESS_KEY_ID_FOR_PERFORMANCE_TESTING }}" --backend-config="secret_key=${{ secrets.AWS_SECRET_ACCESS_KEY_FOR_PERFORMANCE_TESTING }}" +# - name: Terraform Validate tf-test-automation +# working-directory: ./tf-test-automation/services/mysql +# id: validate1 +# run: terraform validate -no-color +# - name: Terraform Apply tf-test-automation +# working-directory: ./tf-test-automation/services/mysql +# id: mysql_url +# run: | +# terraform apply -auto-approve -var="db_password=public123" -var="access_key=${{ secrets.AWS_ACCESS_KEY_ID_FOR_PERFORMANCE_TESTING }}" -var="secret_key=${{ secrets.AWS_SECRET_ACCESS_KEY_FOR_PERFORMANCE_TESTING }}" +# echo "::set-output name=mysql_url::$(terraform output endpoint)" +# - name: Rename and upload mysql tfstate +# working-directory: ./tf-test-automation/services/mysql +# run: | +# mv ./terraform.tfstate ./mysql.tfstate +# - uses: actions/upload-artifact@v2 +# if: always() +# with: +# name: tfstate +# path: ./tf-test-automation/services/mysql/mysql.tfstate +# - name: Show mysql url +# id: mysql_ip +# run: | +# ip=`echo "${{ steps.mysql_url.outputs.mysql_url }}"|awk -F ':' '{print $1}'` +# echo "::set-output name=mysql_ip::$ip" +# - name: Show mysql ip +# run: | +# echo ${{ steps.mysql_url.outputs.mysql_url }} +# echo ${{ steps.mysql_ip.outputs.mysql_ip }} +## +# terraform_redis: +# runs-on: ubuntu-latest +# +# outputs: +# redis_ip: ${{ steps.redis_ip.outputs.redis_ip }} +# steps: +# - name: Checkout tf-test-automation +# uses: actions/checkout@v2 +# with: +# repository: emqx/tf-test-automation +# ref: emqx-broker +# path: tf-test-automation +# - name: Setup Terraform +# uses: hashicorp/setup-terraform@v1.3.2 +# with: +# terraform_wrapper: false +# - name: Terraform Init tf-test-automation +# working-directory: ./tf-test-automation/services/redis +# id: init +# run: | +# terraform init --backend-config="access_key=${{ secrets.AWS_ACCESS_KEY_ID_FOR_PERFORMANCE_TESTING }}" --backend-config="secret_key=${{ secrets.AWS_SECRET_ACCESS_KEY_FOR_PERFORMANCE_TESTING }}" +# - name: Terraform Validate tf-test-automation +# working-directory: ./tf-test-automation/services/redis +# id: validate +# run: terraform validate -no-color +# - name: Terraform Apply tf-test-automation +# working-directory: ./tf-test-automation/services/redis +# id: redis_ip +# run: | +# terraform apply -auto-approve -var="access_key=${{ secrets.AWS_ACCESS_KEY_ID_FOR_PERFORMANCE_TESTING }}" -var="secret_key=${{ secrets.AWS_SECRET_ACCESS_KEY_FOR_PERFORMANCE_TESTING }}" -var="private_key=${{ secrets.CI_SSH_PRIVATE_KEY }}" +# echo "::set-output name=redis_ip::$(terraform output redis_private_ips)" +# - name: Rename and upload redis server tfstate +# working-directory: ./tf-test-automation/services/redis +# run: | +# mv ./terraform.tfstate ./redis.tfstate +# - uses: actions/upload-artifact@v2 +# if: always() +# with: +# name: tfstate +# path: ./tf-test-automation/services/redis/redis.tfstate +# - name: Show redis ip +# run: | +# echo ${{ steps.redis_ip.outputs.redis_ip }} +# +# terraform_pgsql: +# runs-on: ubuntu-latest +# +# outputs: +# pgsql_url: ${{ steps.pgsql_url.outputs.pgsql_url }} +# pgsql_ip: ${{ steps.pgsql_ip.outputs.pgsql_ip }} +# steps: +# - name: Checkout tf-test-automation +# uses: actions/checkout@v2 +# with: +# repository: emqx/tf-test-automation +# ref: emqx-broker +# path: tf-test-automation +# - name: Setup Terraform +# uses: hashicorp/setup-terraform@v1.3.2 +# with: +# terraform_wrapper: false +# - name: Terraform Init tf-test-automation +# working-directory: ./tf-test-automation/services/pgsql +# id: init +# run: | +# terraform init --backend-config="access_key=${{ secrets.AWS_ACCESS_KEY_ID_FOR_PERFORMANCE_TESTING }}" --backend-config="secret_key=${{ secrets.AWS_SECRET_ACCESS_KEY_FOR_PERFORMANCE_TESTING }}" +# - name: Terraform Validate tf-test-automation +# working-directory: ./tf-test-automation/services/pgsql +# id: validate +# run: terraform validate -no-color +# - name: Terraform Apply tf-test-automation +# working-directory: ./tf-test-automation/services/pgsql +# id: pgsql_url +# run: | +# terraform apply -auto-approve -var="db_password=public123" -var="access_key=${{ secrets.AWS_ACCESS_KEY_ID_FOR_PERFORMANCE_TESTING }}" -var="secret_key=${{ secrets.AWS_SECRET_ACCESS_KEY_FOR_PERFORMANCE_TESTING }}" +# echo "::set-output name=pgsql_url::$(terraform output endpoint)" +# - name: Rename and upload pgsql server tfstate +# working-directory: ./tf-test-automation/services/pgsql +# run: | +# mv ./terraform.tfstate ./pgsql.tfstate +# - uses: actions/upload-artifact@v2 +# if: always() +# with: +# name: tfstate +# path: ./tf-test-automation/services/pgsql/pgsql.tfstate +# - name: Show pgsql url +# id: pgsql_ip +# run: | +# ip=`echo "${{ steps.pgsql_url.outputs.pgsql_url }}"|awk -F ':' '{print $1}'` +# echo "::set-output name=pgsql_ip::$ip" +# - name: Show pgsql ip +# run: | +# echo ${{ steps.pgsql_url.outputs.pgsql_url }} +# echo ${{ steps.pgsql_ip.outputs.pgsql_ip }} +# +# terraform_mongo: +# runs-on: ubuntu-latest +# +# outputs: +# mongo_ip: ${{ steps.mongo_ip.outputs.mongo_ip }} +# steps: +# - name: Checkout tf-test-automation +# uses: actions/checkout@v2 +# with: +# repository: emqx/tf-test-automation +# ref: emqx-broker +# path: tf-test-automation +# - name: Setup Terraform +# uses: hashicorp/setup-terraform@v1.3.2 +# with: +# terraform_wrapper: false +# - name: Terraform Init tf-test-automation +# working-directory: ./tf-test-automation/services/mongodb +# id: init +# run: | +# terraform init --backend-config="access_key=${{ secrets.AWS_ACCESS_KEY_ID_FOR_PERFORMANCE_TESTING }}" --backend-config="secret_key=${{ secrets.AWS_SECRET_ACCESS_KEY_FOR_PERFORMANCE_TESTING }}" +# - name: Terraform Validate tf-test-automation +# working-directory: ./tf-test-automation/services/mongodb +# id: validate +# run: terraform validate -no-color +# - name: Terraform Apply tf-test-automation +# working-directory: ./tf-test-automation/services/mongodb +# id: mongo_ip +# run: | +# terraform apply -auto-approve -var="db_password=public123" -var="access_key=${{ secrets.AWS_ACCESS_KEY_ID_FOR_PERFORMANCE_TESTING }}" -var="secret_key=${{ secrets.AWS_SECRET_ACCESS_KEY_FOR_PERFORMANCE_TESTING }}" -var="private_key=${{ secrets.CI_SSH_PRIVATE_KEY }}" +# echo "::set-output name=mongo_ip::$(terraform output mongo_private_ips)" +# - name: Rename and upload mongo server tfstate +# working-directory: ./tf-test-automation/services/mongodb +# run: | +# mv ./terraform.tfstate ./mongo.tfstate +# - uses: actions/upload-artifact@v2 +# if: always() +# with: +# name: tfstate +# path: ./tf-test-automation/services/mongodb/mongo.tfstate +# - name: Show mongo ip +# run: | +# echo ${{ steps.mongo_ip.outputs.mongo_ip }} +# +# terraform_webhook: +# runs-on: ubuntu-latest +# +# outputs: +# webhook_ip: ${{ steps.webhook_ip.outputs.webhook_ip }} +# steps: +# - name: Checkout tf-test-automation +# uses: actions/checkout@v2 +# with: +# repository: emqx/tf-test-automation +# ref: emqx-broker +# path: tf-test-automation +# - name: Setup Terraform +# uses: hashicorp/setup-terraform@v1.3.2 +# with: +# terraform_wrapper: false +# - name: Terraform Init tf-test-automation +# working-directory: ./tf-test-automation/services/webhook +# id: init +# run: | +# terraform init --backend-config="access_key=${{ secrets.AWS_ACCESS_KEY_ID_FOR_PERFORMANCE_TESTING }}" --backend-config="secret_key=${{ secrets.AWS_SECRET_ACCESS_KEY_FOR_PERFORMANCE_TESTING }}" +# - name: Terraform Validate tf-test-automation +# working-directory: ./tf-test-automation/services/webhook +# id: validate +# run: terraform validate -no-color +# - name: Terraform Apply tf-test-automation +# working-directory: ./tf-test-automation/services/webhook +# id: webhook_ip +# run: | +# terraform apply -auto-approve -var="access_key=${{ secrets.AWS_ACCESS_KEY_ID_FOR_PERFORMANCE_TESTING }}" -var="secret_key=${{ secrets.AWS_SECRET_ACCESS_KEY_FOR_PERFORMANCE_TESTING }}" -var="private_key=${{ secrets.CI_SSH_PRIVATE_KEY }}" +# echo "::set-output name=webhook_ip::$(terraform output webhook_private_ips)" +# - name: Rename and upload webhook server tfstate +# working-directory: ./tf-test-automation/services/webhook +# run: | +# mv ./terraform.tfstate ./webhook.tfstate +# - uses: actions/upload-artifact@v2 +# if: always() +# with: +# name: tfstate +# path: ./tf-test-automation/services/webhook/webhook.tfstate +# - name: Show webhook ip +# run: | +# echo ${{ steps.webhook_ip.outputs.webhook_ip }} + + terraform_kafka: runs-on: ubuntu-latest outputs: - mysql_ip: ${{ steps.mysql_ip.outputs.mysql_ip }} - mysql_url: ${{ steps.mysql_url.outputs.mysql_url }} + zk_ip: ${{ steps.zk_ip.outputs.zk_ip }} + kafka_ip: ${{ steps.kafka_ip.outputs.kafka_ip }} + kafka_bootstrap: ${{ steps.zk_ip.outputs.kafka_bootstrap }} + kafka_cli_ip: ${{ steps.kafka_cli_ip.outputs.kafka_cli_ip }} steps: + # install kafka cluster - name: Checkout tf-test-automation uses: actions/checkout@v2 with: @@ -144,44 +381,79 @@ jobs: with: terraform_wrapper: false - name: Terraform Init tf-test-automation - working-directory: ./tf-test-automation/services/mysql + working-directory: ./tf-test-automation/services/kafka id: init1 run: | terraform init --backend-config="access_key=${{ secrets.AWS_ACCESS_KEY_ID_FOR_PERFORMANCE_TESTING }}" --backend-config="secret_key=${{ secrets.AWS_SECRET_ACCESS_KEY_FOR_PERFORMANCE_TESTING }}" - name: Terraform Validate tf-test-automation - working-directory: ./tf-test-automation/services/mysql + working-directory: ./tf-test-automation/services/kafka id: validate1 run: terraform validate -no-color - name: Terraform Apply tf-test-automation - working-directory: ./tf-test-automation/services/mysql - id: mysql_url + working-directory: ./tf-test-automation/services/kafka + id: zk_ip run: | - terraform apply -auto-approve -var="db_password=public123" -var="access_key=${{ secrets.AWS_ACCESS_KEY_ID_FOR_PERFORMANCE_TESTING }}" -var="secret_key=${{ secrets.AWS_SECRET_ACCESS_KEY_FOR_PERFORMANCE_TESTING }}" - echo "::set-output name=mysql_url::$(terraform output endpoint)" - - name: Rename and upload mysql tfstate - working-directory: ./tf-test-automation/services/mysql + terraform apply -auto-approve -var="access_key=${{ secrets.AWS_ACCESS_KEY_ID_FOR_PERFORMANCE_TESTING }}" -var="secret_key=${{ secrets.AWS_SECRET_ACCESS_KEY_FOR_PERFORMANCE_TESTING }}" + echo "::set-output name=zk_ip::$(terraform output zk_ip)" + echo "::set-output name=kafka_bootstrap::$(terraform output kafka_bootstrap_brokers_tls)" + - name: Rename and upload kafka server tfstate + working-directory: ./tf-test-automation/services/kafka run: | - mv ./terraform.tfstate ./mysql.tfstate + mv ./terraform.tfstate ./kafka.tfstate - uses: actions/upload-artifact@v2 if: always() with: name: tfstate - path: ./tf-test-automation/services/mysql/mysql.tfstate - - name: Show mysql url - id: mysql_ip + path: ./tf-test-automation/services/kafka/kafka.tfstate + - name: Show kafka ip + id: kafka_ip run: | - ip=`echo "${{ steps.mysql_url.outputs.mysql_url }}"|awk -F ':' '{print $1}'` - echo "::set-output name=mysql_ip::$ip" - - name: Show mysql ip + ip=${{ steps.zk_ip.outputs.zk_ip }} + echo "::set-output name=kafka_ip::${ip:4:50}" + - name: Show kafka url run: | - echo ${{ steps.mysql_url.outputs.mysql_url }} - echo ${{ steps.mysql_ip.outputs.mysql_ip }} -# - terraform_redis: + echo ${{ steps.zk_ip.outputs.zk_ip }} + echo ${{ steps.zk_ip.outputs.kafka_bootstrap }} + echo ${{ steps.kafka_ip.outputs.kafka_ip }} + # install kafka client + - name: Checkout tf-kafka-client + uses: actions/checkout@v2 + with: + repository: emqx/tf-kafka-client + path: tf-kafka-client + - name: Terraform Init tf-kafka-client + working-directory: ./tf-kafka-client + id: init2 + run: | + terraform init --backend-config="access_key=${{ secrets.AWS_ACCESS_KEY_ID_FOR_PERFORMANCE_TESTING }}" --backend-config="secret_key=${{ secrets.AWS_SECRET_ACCESS_KEY_FOR_PERFORMANCE_TESTING }}" + - name: Terraform Validate tf-kafka-client + working-directory: ./tf-kafka-client + id: validate2 + run: terraform validate -no-color + - name: Terraform Apply tf-kafka-client + working-directory: ./tf-kafka-client + id: kafka_cli_ip + run: | + terraform apply -auto-approve -var="key_name=emqx-ci-robor" -var="access_key=${{ secrets.AWS_ACCESS_KEY_ID_FOR_PERFORMANCE_TESTING }}" -var="secret_key=${{ secrets.AWS_SECRET_ACCESS_KEY_FOR_PERFORMANCE_TESTING }}" -var="zk_ip=${{ steps.zk_ip.outputs.zk_ip }}" -var="kafka_topic=testTopic1" -var="private_key=${{ secrets.CI_SSH_PRIVATE_KEY }}" + echo "::set-output name=kafka_cli_ip::$(terraform output public_ip)" + - name: Rename and upload kafka cli tfstate + working-directory: ./tf-kafka-client + run: | + mv terraform.tfstate kafka-cli.tfstate + - uses: actions/upload-artifact@v2 + if: always() + with: + name: tfstate + path: ./tf-kafka-client/kafka-cli.tfstate + - name: Show kafka cli ip + run: | + echo ${{ steps.kafka_cli_ip.outputs.kafka_cli_ip }} + + terraform_pulsar: runs-on: ubuntu-latest outputs: - redis_ip: ${{ steps.redis_ip.outputs.redis_ip }} + pulsar_ip: ${{ steps.pulsar_ip.outputs.pulsar_ip }} steps: - name: Checkout tf-test-automation uses: actions/checkout@v2 @@ -194,171 +466,32 @@ jobs: with: terraform_wrapper: false - name: Terraform Init tf-test-automation - working-directory: ./tf-test-automation/services/redis + working-directory: ./tf-test-automation/services/pulsar id: init run: | terraform init --backend-config="access_key=${{ secrets.AWS_ACCESS_KEY_ID_FOR_PERFORMANCE_TESTING }}" --backend-config="secret_key=${{ secrets.AWS_SECRET_ACCESS_KEY_FOR_PERFORMANCE_TESTING }}" - name: Terraform Validate tf-test-automation - working-directory: ./tf-test-automation/services/redis + working-directory: ./tf-test-automation/services/pulsar id: validate run: terraform validate -no-color - name: Terraform Apply tf-test-automation - working-directory: ./tf-test-automation/services/redis - id: redis_ip + working-directory: ./tf-test-automation/services/pulsar + id: pulsar_ip run: | - terraform apply -auto-approve -var="access_key=${{ secrets.AWS_ACCESS_KEY_ID_FOR_PERFORMANCE_TESTING }}" -var="secret_key=${{ secrets.AWS_SECRET_ACCESS_KEY_FOR_PERFORMANCE_TESTING }}" -var="private_key=${{ secrets.CI_SSH_PRIVATE_KEY }}" - echo "::set-output name=redis_ip::$(terraform output redis_private_ips)" - - name: Rename and upload redis server tfstate - working-directory: ./tf-test-automation/services/redis + terraform apply -auto-approve -var="key_name=emqx-ci-robor" -var="access_key=${{ secrets.AWS_ACCESS_KEY_ID_FOR_PERFORMANCE_TESTING }}" -var="secret_key=${{ secrets.AWS_SECRET_ACCESS_KEY_FOR_PERFORMANCE_TESTING }}" -var="private_key=${{ secrets.CI_SSH_PRIVATE_KEY }}" + echo "::set-output name=pulsar_ip::$(terraform output pulsar_private_ips)" + - name: Rename and upload pulsar server tfstate + working-directory: ./tf-test-automation/services/pulsar run: | - mv ./terraform.tfstate ./redis.tfstate + mv ./terraform.tfstate ./pulsar.tfstate - uses: actions/upload-artifact@v2 if: always() with: name: tfstate - path: ./tf-test-automation/services/redis/redis.tfstate - - name: Show redis ip + path: ./tf-test-automation/services/pulsar/pulsar.tfstate + - name: Show pulsar ip run: | - echo ${{ steps.redis_ip.outputs.redis_ip }} - - terraform_pgsql: - runs-on: ubuntu-latest - - outputs: - pgsql_url: ${{ steps.pgsql_url.outputs.pgsql_url }} - pgsql_ip: ${{ steps.pgsql_ip.outputs.pgsql_ip }} - steps: - - name: Checkout tf-test-automation - uses: actions/checkout@v2 - with: - repository: emqx/tf-test-automation - ref: emqx-broker - path: tf-test-automation - - name: Setup Terraform - uses: hashicorp/setup-terraform@v1.3.2 - with: - terraform_wrapper: false - - name: Terraform Init tf-test-automation - working-directory: ./tf-test-automation/services/pgsql - id: init - run: | - terraform init --backend-config="access_key=${{ secrets.AWS_ACCESS_KEY_ID_FOR_PERFORMANCE_TESTING }}" --backend-config="secret_key=${{ secrets.AWS_SECRET_ACCESS_KEY_FOR_PERFORMANCE_TESTING }}" - - name: Terraform Validate tf-test-automation - working-directory: ./tf-test-automation/services/pgsql - id: validate - run: terraform validate -no-color - - name: Terraform Apply tf-test-automation - working-directory: ./tf-test-automation/services/pgsql - id: pgsql_url - run: | - terraform apply -auto-approve -var="db_password=public123" -var="access_key=${{ secrets.AWS_ACCESS_KEY_ID_FOR_PERFORMANCE_TESTING }}" -var="secret_key=${{ secrets.AWS_SECRET_ACCESS_KEY_FOR_PERFORMANCE_TESTING }}" - echo "::set-output name=pgsql_url::$(terraform output endpoint)" - - name: Rename and upload pgsql server tfstate - working-directory: ./tf-test-automation/services/pgsql - run: | - mv ./terraform.tfstate ./pgsql.tfstate - - uses: actions/upload-artifact@v2 - if: always() - with: - name: tfstate - path: ./tf-test-automation/services/pgsql/pgsql.tfstate - - name: Show pgsql url - id: pgsql_ip - run: | - ip=`echo "${{ steps.pgsql_url.outputs.pgsql_url }}"|awk -F ':' '{print $1}'` - echo "::set-output name=pgsql_ip::$ip" - - name: Show pgsql ip - run: | - echo ${{ steps.pgsql_url.outputs.pgsql_url }} - echo ${{ steps.pgsql_ip.outputs.pgsql_ip }} - - terraform_mongo: - runs-on: ubuntu-latest - - outputs: - mongo_ip: ${{ steps.mongo_ip.outputs.mongo_ip }} - steps: - - name: Checkout tf-test-automation - uses: actions/checkout@v2 - with: - repository: emqx/tf-test-automation - ref: emqx-broker - path: tf-test-automation - - name: Setup Terraform - uses: hashicorp/setup-terraform@v1.3.2 - with: - terraform_wrapper: false - - name: Terraform Init tf-test-automation - working-directory: ./tf-test-automation/services/mongodb - id: init - run: | - terraform init --backend-config="access_key=${{ secrets.AWS_ACCESS_KEY_ID_FOR_PERFORMANCE_TESTING }}" --backend-config="secret_key=${{ secrets.AWS_SECRET_ACCESS_KEY_FOR_PERFORMANCE_TESTING }}" - - name: Terraform Validate tf-test-automation - working-directory: ./tf-test-automation/services/mongodb - id: validate - run: terraform validate -no-color - - name: Terraform Apply tf-test-automation - working-directory: ./tf-test-automation/services/mongodb - id: mongo_ip - run: | - terraform apply -auto-approve -var="db_password=public123" -var="access_key=${{ secrets.AWS_ACCESS_KEY_ID_FOR_PERFORMANCE_TESTING }}" -var="secret_key=${{ secrets.AWS_SECRET_ACCESS_KEY_FOR_PERFORMANCE_TESTING }}" -var="private_key=${{ secrets.CI_SSH_PRIVATE_KEY }}" - echo "::set-output name=mongo_ip::$(terraform output mongo_private_ips)" - - name: Rename and upload mongo server tfstate - working-directory: ./tf-test-automation/services/mongodb - run: | - mv ./terraform.tfstate ./mongo.tfstate - - uses: actions/upload-artifact@v2 - if: always() - with: - name: tfstate - path: ./tf-test-automation/services/mongodb/mongo.tfstate - - name: Show mongo ip - run: | - echo ${{ steps.mongo_ip.outputs.mongo_ip }} - - terraform_webhook: - runs-on: ubuntu-latest - - outputs: - webhook_ip: ${{ steps.webhook_ip.outputs.webhook_ip }} - steps: - - name: Checkout tf-test-automation - uses: actions/checkout@v2 - with: - repository: emqx/tf-test-automation - ref: emqx-broker - path: tf-test-automation - - name: Setup Terraform - uses: hashicorp/setup-terraform@v1.3.2 - with: - terraform_wrapper: false - - name: Terraform Init tf-test-automation - working-directory: ./tf-test-automation/services/webhook - id: init - run: | - terraform init --backend-config="access_key=${{ secrets.AWS_ACCESS_KEY_ID_FOR_PERFORMANCE_TESTING }}" --backend-config="secret_key=${{ secrets.AWS_SECRET_ACCESS_KEY_FOR_PERFORMANCE_TESTING }}" - - name: Terraform Validate tf-test-automation - working-directory: ./tf-test-automation/services/webhook - id: validate - run: terraform validate -no-color - - name: Terraform Apply tf-test-automation - working-directory: ./tf-test-automation/services/webhook - id: webhook_ip - run: | - terraform apply -auto-approve -var="access_key=${{ secrets.AWS_ACCESS_KEY_ID_FOR_PERFORMANCE_TESTING }}" -var="secret_key=${{ secrets.AWS_SECRET_ACCESS_KEY_FOR_PERFORMANCE_TESTING }}" -var="private_key=${{ secrets.CI_SSH_PRIVATE_KEY }}" - echo "::set-output name=webhook_ip::$(terraform output webhook_private_ips)" - - name: Rename and upload webhook server tfstate - working-directory: ./tf-test-automation/services/webhook - run: | - mv ./terraform.tfstate ./webhook.tfstate - - uses: actions/upload-artifact@v2 - if: always() - with: - name: tfstate - path: ./tf-test-automation/services/webhook/webhook.tfstate - - name: Show webhook ip - run: | - echo ${{ steps.webhook_ip.outputs.webhook_ip }} + echo ${{ steps.pulsar_ip.outputs.pulsar_ip }} # master_control: # runs-on: ubuntu-latest