diff --git a/.drone.local.yml b/.drone.local.yml index 90d39fb933..d68731c711 100644 --- a/.drone.local.yml +++ b/.drone.local.yml @@ -1,44 +1,44 @@ ---- workspace: base: /go path: src/github.com/vmware/vic pipeline: - clone: - image: plugins/git - tags: true - # dont clone submodules - recursive: false - vic-integration-test-on-pr: - image: ${TEST_BUILD_IMAGE=gcr.io/eminent-nation-87317/vic-integration-test:1.42} + image: '${TEST_BUILD_IMAGE=gcr.io/eminent-nation-87317/vic-integration-test:1.44}' pull: true environment: BIN: bin GOPATH: /go SHELL: /bin/bash - VIC_ESX_TEST_URL: ${VIC_ESX_TEST_URL} LOG_TEMP_DIR: install-logs - DRONE_SERVER: ${DRONE_SERVER} - GITHUB_AUTOMATION_API_KEY: ${GITHUB_AUTOMATION_API_KEY} - DRONE_TOKEN: ${DRONE_TOKEN} - TEST_URL_ARRAY: ${TEST_URL_ARRAY} - TEST_USERNAME: ${TEST_USERNAME} - TEST_PASSWORD: ${TEST_PASSWORD} - TEST_DATASTORE: ${TEST_DATASTORE} - TEST_TIMEOUT: ${TEST_TIMEOUT} - GOVC_INSECURE: true - GOVC_USERNAME: ${TEST_USERNAME} - GOVC_PASSWORD: ${TEST_PASSWORD} - GOVC_DATASTORE: ${TEST_DATASTORE} - GS_PROJECT_ID: ${GS_PROJECT_ID} - GS_CLIENT_EMAIL: ${GS_CLIENT_EMAIL} - GS_PRIVATE_KEY: ${GS_PRIVATE_KEY} - DEBUG_VCH: ${DEBUG_VCH} - DOMAIN: ${DOMAIN} + secrets: + - bridge_network + - debug_vch + - drone_server + - drone_token + - drone_machine + - github_automation_api_key + - gs_client_email + - gs_private_key + - gs_project_id + - public_network + - registry_password + - reporting_server_url + - syslog_passwd + - syslog_server + - syslog_user + - test_datastore + - test_resource + - test_timeout + - test_password + - test_url_array + - test_username commands: + - 'export GOVC_INSECURE=true' + - 'export GOVC_USERNAME=${TEST_USERNAME}' + - 'export GOVC_PASSWORD=${TEST_PASSWORD}' + - 'export GOVC_DATASTORE=${TEST_DATASTORE}' + - 'export DOMAIN=${CI_DOMAIN}' - tests/integration-test.sh - # - pybot tests/test-cases/Group1-Docker-Commands - # - pybot tests/test-cases/Group1-Docker-Commands/1-01-Docker-Info.robot volumes: - /tmp diff --git a/.drone.yml b/.drone.yml index 607f52f8d8..2dd2747fe1 100644 --- a/.drone.yml +++ b/.drone.yml @@ -1,85 +1,89 @@ -# After any change to this file you MUST re-sign and checkin the .drone.yml.sig -# When you are ready to submit a pull request, you must regenerate .drone.yml.sig for the vmware/vic repo: -# $ export DRONE_SERVER=https://ci.vcna.io -# $ export DRONE_TOKEN= -# $ drone sign vmware/vic -# The secrets file is in our local git repo. Ask mhagen for access. ---- workspace: + base: /go path: src/github.com/vmware/vic pipeline: + clone: image: plugins/git tags: true - # dont clone submodules recursive: false - clone-pr: - image: harbor.ci.drone.local/library/git-clone:1.0 - pull: true - environment: - DRONE_PULL_REQUEST: ${DRONE_PULL_REQUEST} - when: - event: [ pull_request ] display-status: - image: harbor.ci.drone.local/library/vic-integration-test:1.42 + image: 'wdc-harbor-ci.eng.vmware.com/default-project/vic-integration-test:1.44' pull: true environment: BIN: bin SHELL: /bin/bash - COMMIT: ${DRONE_COMMIT} commands: - - echo "Expecting ${DRONE_COMMIT}" - - git log -5 - - git log -1 --pretty=oneline | grep "^${DRONE_COMMIT}" > /dev/null && echo 'Build matches' || (git log -1 --pretty=oneline | grep "Merge ${DRONE_COMMIT}" > /dev/null && echo 'Build is of a merge commit' || (echo 'Build does not match!' && exit 1)) + - 'export COMMIT=${DRONE_COMMIT}' + - 'echo "Expecting ${DRONE_COMMIT}"' + - 'git log -5' + - 'git log -1 --pretty=oneline | grep "^${DRONE_COMMIT}" > /dev/null && echo ''Build matches'' || (git log -1 --pretty=oneline | grep "Merge ${DRONE_COMMIT}" > /dev/null && echo ''Build is of a merge commit'' || (echo ''Build does not match!'' && exit 1))' wait-for-build: - image: harbor.ci.drone.local/library/vic-integration-test:1.42 + image: 'wdc-harbor-ci.eng.vmware.com/default-project/vic-integration-test:1.44' pull: true environment: BIN: bin GOPATH: /go SHELL: /bin/bash - TEST_URL_ARRAY: ${TEST_URL_ARRAY} - DRONE_SERVER: ${DRONE_SERVER} - DRONE_TOKEN: ${DRONE_TOKEN} + secrets: + - drone_server + - drone_token + - test_url_array commands: - tests/wait_until_previous_builds_complete.sh + check-org-membership: + image: 'wdc-harbor-ci.eng.vmware.com/default-project/vic-integration-test:1.44' + pull: true + environment: + BIN: bin + GOPATH: /go + SHELL: /bin/bash + secrets: + - github_automation_api_key + commands: + - echo ${DRONE_COMMIT_AUTHOR} + - /bin/bash -c '[[ ! $(curl --silent "https://api.github.com/orgs/vmware/members/${DRONE_COMMIT_AUTHOR}?access_token=$GITHUB_AUTOMATION_API_KEY") ]]' + when: + status: success + vic-engine: - image: harbor.ci.drone.local/library/vic-integration-test:1.42 + image: 'wdc-harbor-ci.eng.vmware.com/default-project/vic-integration-test:1.44' pull: true environment: BIN: bin GOPATH: /go SHELL: /bin/bash - DRONE_SERVER: ${DRONE_SERVER} - DRONE_TOKEN: ${DRONE_TOKEN} - TEST_URL_ARRAY: ${TEST_URL_ARRAY} - TEST_USERNAME: ${TEST_USERNAME} - TEST_PASSWORD: ${TEST_PASSWORD} - REGISTRY_PASSWORD: ${REGISTRY_PASSWORD} - BUILD_NUMBER: ${DRONE_BUILD_NUMBER} - COMMIT: ${DRONE_COMMIT} + secrets: + - drone_server + - drone_token + - registry_password + - test_password + - test_url_array + - test_username commands: - - make mark - - make all - - make sincemark - - make mark - - echo `ls vendor/github.com/vmware/govmomi/vim25/methods` - - echo `ls vendor/github.com/vmware/govmomi/vim25/types` - - echo `ls vendor/github.com/docker/docker/vendor/github.com/opencontainers/runc/libcontainer/system` - - export VIC_ESX_URL_ARRAY="`tests/get_test_url.sh`" + - 'export BUILD_NUMBER=${DRONE_BUILD_NUMBER}' + - 'export COMMIT=${DRONE_COMMIT}' + - 'make mark' + - 'make all' + - 'make sincemark' + - 'make mark' + - 'echo `ls vendor/github.com/vmware/govmomi/vim25/methods`' + - 'echo `ls vendor/github.com/vmware/govmomi/vim25/types`' + - 'echo `ls vendor/github.com/docker/docker/vendor/github.com/opencontainers/runc/libcontainer/system`' + - 'export VIC_ESX_URL_ARRAY="`tests/get_test_url.sh`"' - tests/unit-test-check.sh - - make sincemark + - 'make sincemark' when: - status: success + status: success vic-integration-test-on-pr: - image: harbor.ci.drone.local/library/vic-integration-test:1.42 + image: 'wdc-harbor-ci.eng.vmware.com/default-project/vic-integration-test:1.44' pull: true privileged: true environment: @@ -87,83 +91,90 @@ pipeline: GOPATH: /go SHELL: /bin/bash LOG_TEMP_DIR: install-logs - GITHUB_AUTOMATION_API_KEY: ${GITHUB_AUTOMATION_API_KEY} - DRONE_SERVER: ${DRONE_SERVER} - DRONE_TOKEN: ${DRONE_TOKEN} - DRONE_MACHINE: ${DRONE_MACHINE} - TEST_URL_ARRAY: ${TEST_URL_ARRAY} - TEST_USERNAME: ${TEST_USERNAME} - TEST_PASSWORD: ${TEST_PASSWORD} - REGISTRY_PASSWORD: ${REGISTRY_PASSWORD} - TEST_DATASTORE: ${TEST_DATASTORE} - TEST_TIMEOUT: ${TEST_TIMEOUT} - REPORTING_SERVER_URL: ${REPORTING_SERVER_URL} - GOVC_INSECURE: true - GOVC_USERNAME: ${TEST_USERNAME} - GOVC_PASSWORD: ${TEST_PASSWORD} - GOVC_DATASTORE: ${TEST_DATASTORE} - GS_PROJECT_ID: ${GS_PROJECT_ID} - GS_CLIENT_EMAIL: ${GS_CLIENT_EMAIL} - GS_PRIVATE_KEY: ${GS_PRIVATE_KEY} - DOMAIN: ${CI_DOMAIN} - SYSLOG_SERVER: ${SYSLOG_SERVER} - SYSLOG_USER: ${SYSLOG_USER} - SYSLOG_PASSWD: ${SYSLOG_PASSWD} + secrets: + - bridge_network + - ci_domain + - debug_vch + - drone_server + - drone_token + - drone_machine + - github_automation_api_key + - gs_client_email + - gs_private_key + - gs_project_id + - public_network + - registry_password + - reporting_server_url + - syslog_passwd + - syslog_server + - syslog_user + - test_datastore + - test_resource + - test_timeout + - test_password + - test_url_array + - test_username commands: - - . ./tests/ci-env.sh # set CI env variable values - - make mark + - export GOVC_INSECURE=true + - export GOVC_USERNAME=$TEST_USERNAME + - export GOVC_PASSWORD=$TEST_PASSWORD + - export GOVC_DATASTORE=$TEST_DATASTORE + - export DOMAIN=$CI_DOMAIN + - echo $DOMAIN + - 'make mark' - tests/integration-test.sh - - make sincemark + - 'make sincemark' volumes: - /tmp - - /home/vic:/ci when: - status: success + status: success vic-ui: - image: harbor.ci.drone.local/library/vic-integration-test:1.42 + image: 'wdc-harbor-ci.eng.vmware.com/default-project/vic-integration-test:1.44' pull: true environment: - BUILD_NUMBER: ${DRONE_BUILD_NUMBER} - BIN: bin - GS_PROJECT_ID: ${GS_PROJECT_ID} - GS_CLIENT_EMAIL: ${GS_CLIENT_EMAIL} - GS_PRIVATE_KEY: ${GS_PRIVATE_KEY} + BIN: bin + secrets: + - gs_client_email + - gs_private_key + - gs_project_id commands: - - mkdir -p $BIN/ui - - export LATEST_VIC_UI_BUILD="$(gsutil ls -l 'gs://vic-ui-builds' | grep -v TOTAL | grep vic_ | sort -k2 -r | (trap ' ' PIPE; head -1))" - - export VIC_UI_URL=$(echo $LATEST_VIC_UI_BUILD | xargs | cut -d " " -f 3 | sed "s/gs:\/\//https:\/\/storage.googleapis.com\//") - - wget -nv $VIC_UI_URL -P $BIN - - tar -xvzf $BIN/vic_ui_*.tar.gz - - ls -la ./$BIN && ./$BIN/ui/sync-vic-ui-version.sh -p bin/ 2>&1 - - rm $BIN/vic_ui_*.tar.gz + - 'export BUILD_NUMBER=${DRONE_BUILD_NUMBER}' + - 'mkdir -p $BIN/ui' + - 'export LATEST_VIC_UI_BUILD="$(gsutil ls -l ''gs://vic-ui-builds'' | grep -v TOTAL | grep vic_ | sort -k2 -r | (trap '' '' PIPE; head -1))"' + - 'export VIC_UI_URL=$(echo $LATEST_VIC_UI_BUILD | xargs | cut -d " " -f 3 | sed "s|gs://|https://storage.googleapis.com/|")' + - 'wget -nv $VIC_UI_URL -P $BIN' + - 'tar -xvzf $BIN/vic_ui_*.tar.gz' + - 'ls -la ./$BIN && ./$BIN/ui/sync-vic-ui-version.sh -p bin/ 2>&1' + - 'rm $BIN/vic_ui_*.tar.gz' when: - status: success - branch: [ master ] + status: success + branch: [master] vic-ui-release: - image: harbor.ci.drone.local/library/vic-integration-test:1.42 + image: 'wdc-harbor-ci.eng.vmware.com/default-project/vic-integration-test:1.44' pull: true environment: - BUILD_NUMBER: ${DRONE_BUILD_NUMBER} BIN: bin - GS_PROJECT_ID: ${GS_PROJECT_ID} - GS_CLIENT_EMAIL: ${GS_CLIENT_EMAIL} - GS_PRIVATE_KEY: ${GS_PRIVATE_KEY} + secrets: + - gs_client_email + - gs_private_key + - gs_project_id commands: - - mkdir -p $BIN/ui - - export LATEST_VIC_UI_RELEASE="$(gsutil ls -l 'gs://vic-ui-releases' | grep -v TOTAL | grep vic_ | sort -k2 -r | (trap ' ' PIPE; head -1))" - - export VIC_UI_URL=$(echo $LATEST_VIC_UI_RELEASE | xargs | cut -d " " -f 3 | sed "s/gs:\/\//https:\/\/storage.googleapis.com\//") - - wget -nv $VIC_UI_URL -P $BIN - - tar -xvzf $BIN/vic_ui_*.tar.gz - - ls -la ./$BIN && ./$BIN/ui/sync-vic-ui-version.sh -p bin/ 2>&1 - - rm $BIN/vic_ui_*.tar.gz + - 'export BUILD_NUMBER=${DRONE_BUILD_NUMBER}' + - 'mkdir -p $BIN/ui' + - 'export LATEST_VIC_UI_RELEASE="$(gsutil ls -l ''gs://vic-ui-releases'' | grep -v TOTAL | grep vic_ | sort -k2 -r | (trap '' '' PIPE; head -1))"' + - 'export VIC_UI_URL=$(echo $LATEST_VIC_UI_RELEASE | xargs | cut -d " " -f 3 | sed "s|gs://|https://storage.googleapis.com/|")' + - 'wget -nv $VIC_UI_URL -P $BIN' + - 'tar -xvzf $BIN/vic_ui_*.tar.gz' + - 'ls -la ./$BIN && ./$BIN/ui/sync-vic-ui-version.sh -p bin/ 2>&1' + - 'rm $BIN/vic_ui_*.tar.gz' when: - status: success - branch: [ releases/*, refs/tags/* ] + status: success + branch: ['releases/*', 'refs/tags/*'] bundle: - image: harbor.ci.drone.local/library/golang:1.8 + image: 'gcr.io/eminent-nation-87317/golang:1.8' pull: true environment: BIN: bin @@ -171,181 +182,163 @@ pipeline: GOPATH: /go SHELL: /bin/bash commands: - - make mark - - rm -rf $BIN_TEMP_DIR - - mkdir -p $BIN_TEMP_DIR - - mv $BIN/ui $BIN_TEMP_DIR - - cp LICENSE $BIN_TEMP_DIR - - cp doc/bundle/README $BIN_TEMP_DIR - - cp $BIN/vic-machine* $BIN_TEMP_DIR - - cp $BIN/vic-ui* $BIN_TEMP_DIR - - cp $BIN/appliance.iso $BIN_TEMP_DIR - - cp $BIN/bootstrap.iso $BIN_TEMP_DIR - - tar czvf $BIN/vic_${DRONE_BUILD_NUMBER}.tar.gz -C $BIN vic - - shasum -a 256 $BIN/vic_${DRONE_BUILD_NUMBER}.tar.gz - - shasum -a 1 $BIN/vic_${DRONE_BUILD_NUMBER}.tar.gz - - md5sum $BIN/vic_${DRONE_BUILD_NUMBER}.tar.gz - - du -ks $BIN/vic_${DRONE_BUILD_NUMBER}.tar.gz | awk '{print $1 / 1024}' | { read x; echo $x MB; } - - mkdir bundle - - mkdir bundle-release - - cp $BIN/vic_${DRONE_BUILD_NUMBER}.tar.gz bundle - - cp $BIN/vic_${DRONE_BUILD_NUMBER}.tar.gz bundle-release/vic_`git describe --tags $(git rev-list --tags --max-count=1)`.tar.gz - - make sincemark + - 'make mark' + - 'rm -rf $BIN_TEMP_DIR' + - 'mkdir -p $BIN_TEMP_DIR' + - 'mv $BIN/ui $BIN_TEMP_DIR' + - 'cp LICENSE $BIN_TEMP_DIR' + - 'cp doc/bundle/README $BIN_TEMP_DIR' + - 'cp $BIN/vic-machine* $BIN_TEMP_DIR' + - 'cp $BIN/vic-ui* $BIN_TEMP_DIR' + - 'cp $BIN/appliance.iso $BIN_TEMP_DIR' + - 'cp $BIN/bootstrap.iso $BIN_TEMP_DIR' + - 'tar czvf $BIN/vic_${DRONE_BUILD_NUMBER}.tar.gz -C $BIN vic' + - 'shasum -a 256 $BIN/vic_${DRONE_BUILD_NUMBER}.tar.gz' + - 'shasum -a 1 $BIN/vic_${DRONE_BUILD_NUMBER}.tar.gz' + - 'md5sum $BIN/vic_${DRONE_BUILD_NUMBER}.tar.gz' + - 'du -ks $BIN/vic_${DRONE_BUILD_NUMBER}.tar.gz | awk ''{print $1 / 1024}'' | { read x; echo $x MB; }' + - 'mkdir bundle' + - 'mkdir bundle-release' + - 'cp $BIN/vic_${DRONE_BUILD_NUMBER}.tar.gz bundle' + - 'cp $BIN/vic_${DRONE_BUILD_NUMBER}.tar.gz bundle-release/vic_`git describe --tags $(git rev-list --tags --max-count=1)`.tar.gz' + - 'make sincemark' when: repo: vmware/vic - event: [ push, tag ] - branch: [ master, releases/*, refs/tags/* ] + event: [push, tag] + branch: [master, 'releases/*', 'refs/tags/*'] publish-gcs-builds-on-pass: - image: maplain/drone-gcs:latest + image: 'maplain/drone-gcs:latest' pull: true source: bundle target: vic-engine-builds acl: - - allUsers:READER - cache_control: public,max-age=3600 + - 'allUsers:READER' + cache_control: 'public,max-age=3600' when: repo: vmware/vic - event: [ push ] - branch: [ master, releases/* ] + event: [push] + branch: [master, 'releases/*'] status: success publish-gcs-builds-on-fail: - image: maplain/drone-gcs:latest + image: 'maplain/drone-gcs:latest' pull: true source: bundle target: vic-engine-failed-builds acl: - - allUsers:READER - cache_control: public,max-age=3600 + - 'allUsers:READER' + cache_control: 'public,max-age=3600' when: repo: vmware/vic - event: [ push ] - branch: [ master, releases/* ] + event: [push] + branch: [master, 'releases/*'] status: failure publish-gcs-releases: - image: maplain/drone-gcs:latest + image: 'maplain/drone-gcs:latest' pull: true source: bundle-release target: vic-engine-releases acl: - - allUsers:READER - cache_control: public,max-age=3600 + - 'allUsers:READER' + cache_control: 'public,max-age=3600' when: repo: vmware/vic - event: [ push, tag ] - branch: [ refs/tags/* ] + event: [push, tag] + branch: ['refs/tags/*'] status: success publish-vic-machine-server-dev: image: plugins/gcr repo: eminent-nation-87317/vic-machine-server dockerfile: cmd/vic-machine-server/Dockerfile + secrets: + - gs_client_email + - gs_private_key + - gs_private_key_id + - gs_project_id tags: - dev - json_key: > - { - "type": "service_account", - "project_id": "${GS_PROJECT_ID}", - "private_key_id": "${GS_PRIVATE_KEY_ID}", - "private_key": "${GS_PRIVATE_KEY}", - "client_email": "${GS_CLIENT_EMAIL}", - "client_id": "${GS_PROJECT_ID}", - "auth_uri": "https://accounts.google.com/o/oauth2/auth", - "token_uri": "https://accounts.google.com/o/oauth2/token", - "auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs", - "client_x509_cert_url": "" - } + json_key: "{ \"type\": \"service_account\",\n \"project_id\": \"$GS_PROJECT_ID\",\n \"private_key_id\": \"$GS_PRIVATE_KEY_ID\",\n \"private_key\": \"$GS_PRIVATE_KEY\",\n \"client_email\": \"$GS_CLIENT_EMAIL\",\n \"client_id\": \"$GS_PROJECT_ID\",\n \"auth_uri\": \"https://accounts.google.com/o/oauth2/auth\",\n \"token_uri\": \"https://accounts.google.com/o/oauth2/token\",\n \"auth_provider_x509_cert_url\": \"https://www.googleapis.com/oauth2/v1/certs\",\n \"client_x509_cert_url\": \"\"\n}\n" when: repo: vmware/vic - event: [ push ] - branch: [ master ] + event: [push] + branch: [master] status: success publish-vic-machine-server-releases: image: plugins/gcr repo: eminent-nation-87317/vic-machine-server dockerfile: cmd/vic-machine-server/Dockerfile + secrets: + - gs_client_email + - gs_private_key + - gs_private_key_id + - gs_project_id tags: - latest - json_key: > - { - "type": "service_account", - "project_id": "${GS_PROJECT_ID}", - "private_key_id": "${GS_PRIVATE_KEY_ID}", - "private_key": "${GS_PRIVATE_KEY}", - "client_email": "${GS_CLIENT_EMAIL}", - "client_id": "${GS_PROJECT_ID}", - "auth_uri": "https://accounts.google.com/o/oauth2/auth", - "token_uri": "https://accounts.google.com/o/oauth2/token", - "auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs", - "client_x509_cert_url": "" - } + json_key: "{ \"type\": \"service_account\",\n \"project_id\": \"$GS_PROJECT_ID\",\n \"private_key_id\": \"$GS_PRIVATE_KEY_ID\",\n \"private_key\": \"$GS_PRIVATE_KEY\",\n \"client_email\": \"$GS_CLIENT_EMAIL\",\n \"client_id\": \"$GS_PROJECT_ID\",\n \"auth_uri\": \"https://accounts.google.com/o/oauth2/auth\",\n \"token_uri\": \"https://accounts.google.com/o/oauth2/token\",\n \"auth_provider_x509_cert_url\": \"https://www.googleapis.com/oauth2/v1/certs\",\n \"client_x509_cert_url\": \"\"\n}\n" when: repo: vmware/vic - event: [ push, tag ] - branch: [ refs/tags/*, releases/* ] + event: [push, tag] + branch: ['refs/tags/*', 'releases/*'] status: success trigger-downstream: - image: harbor.ci.drone.local/library/vic-downstream-trigger:1.0 + image: 'gcr.io/eminent-nation-87317/vic-downstream-trigger:1.0' environment: - DRONE_SERVER: ${DRONE_SERVER} - DRONE_TOKEN: ${DRONE_TOKEN} SHELL: /bin/bash + secrets: + - drone_server + - drone_token when: repo: vmware/vic - event: [ push, tag ] - branch: [ master, releases/*, refs/tags/* ] + event: [push, tag] + branch: [master, 'releases/*', 'refs/tags/*'] status: success report-coverage: - image: robertstettner/drone-codecov - token: ${CODECOV_TOKEN} - files: - - .cover/cover.out + image: robertstettner/drone-codecov + secrets: + - codecov_token + files: + - .cover/cover.out notify-slack-on-fail: image: plugins/slack - webhook: ${SLACK_URL} + secrets: + - source: slack_url + target: slack_webhook username: drone - template: > - Build https://ci.vcna.io/vmware/vic/{{ build.number }} by {{ build.author }} finished with a {{ build.status }} status. Logs: https://console.cloud.google.com/m/cloudstorage/b/vic-ci-logs/o/integration_logs_{{ build.number }}_{{ build.commit }}.zip?authuser=1 + template: "Build https://ci.vcna.io/vmware/vic/{{ build.number }} by {{ build.author }} finished with a {{ build.status }} status. Logs: https://console.cloud.google.com/m/cloudstorage/b/vic-ci-logs/o/integration_logs_{{ build.number }}_{{ build.commit }}.zip?authuser=1\n" when: repo: vmware/vic - branch: [ master, releases/*, refs/tags/* ] + event: [push, tag, deployment] + branch: [master, 'releases/*', 'refs/tags/*'] status: failure notify-slack-on-pass: image: plugins/slack - webhook: ${SLACK_URL} + secrets: + - source: slack_url + target: slack_webhook username: drone - template: > - Build https://ci.vcna.io/vmware/vic/{{ build.number }} by {{ build.author }} finished with a {{ build.status }} status, find the build at: https://storage.googleapis.com/vic-engine-builds/vic_{{ build.number }}.tar.gz + template: "Build https://ci.vcna.io/vmware/vic/{{ build.number }} by {{ build.author }} finished with a {{ build.status }} status, find the build at: https://storage.googleapis.com/vic-engine-builds/vic_{{ build.number }}.tar.gz\n" when: repo: vmware/vic - branch: [ master, releases/* ] + event: [push, tag, deployment] + branch: [master, 'releases/*'] status: success notify-slack-on-successful-tag: image: plugins/slack - webhook: ${SLACK_URL} + secrets: + - source: slack_url + target: slack_webhook username: drone - template: > - The latest version of VIC engine has been released, find the build here: https://console.cloud.google.com/storage/browser/vic-engine-releases + template: "The latest version of VIC engine has been released, find the build here: https://console.cloud.google.com/storage/browser/vic-engine-releases\n" when: repo: vmware/vic - branch: [ refs/tags/* ] - status: success - - pass-rate: - image: harbor.ci.drone.local/library/vic-integration-test:1.42 - pull: true - environment: - BIN: bin - SHELL: /bin/bash - GITHUB_AUTOMATION_API_KEY: ${GITHUB_AUTOMATION_API_KEY} - SLACK_URL: ${SLACK_URL} - commands: - - tests/pass-rate.sh + event: [push, tag, deployment] + branch: ['refs/tags/*'] diff --git a/.drone.yml.sig b/.drone.yml.sig deleted file mode 100644 index 91da2e7f86..0000000000 --- a/.drone.yml.sig +++ /dev/null @@ -1 +0,0 @@ -eyJhbGciOiJIUzI1NiJ9.IyBBZnRlciBhbnkgY2hhbmdlIHRvIHRoaXMgZmlsZSB5b3UgTVVTVCByZS1zaWduIGFuZCBjaGVja2luIHRoZSAuZHJvbmUueW1sLnNpZwojIFdoZW4geW91IGFyZSByZWFkeSB0byBzdWJtaXQgYSBwdWxsIHJlcXVlc3QsIHlvdSBtdXN0IHJlZ2VuZXJhdGUgLmRyb25lLnltbC5zaWcgZm9yIHRoZSB2bXdhcmUvdmljIHJlcG86CiMgJCBleHBvcnQgRFJPTkVfU0VSVkVSPWh0dHBzOi8vY2kudmNuYS5pbwojICQgZXhwb3J0IERST05FX1RPS0VOPTx0b2tlbj4KIyAkIGRyb25lIHNpZ24gdm13YXJlL3ZpYwojIFRoZSBzZWNyZXRzIGZpbGUgaXMgaW4gb3VyIGxvY2FsIGdpdCByZXBvLiAgQXNrIG1oYWdlbiBmb3IgYWNjZXNzLgoKLS0tCndvcmtzcGFjZToKICBiYXNlOiAvZ28KICBwYXRoOiBzcmMvZ2l0aHViLmNvbS92bXdhcmUvdmljCgpwaXBlbGluZToKICBjbG9uZToKICAgIGltYWdlOiBwbHVnaW5zL2dpdAogICAgdGFnczogdHJ1ZQogICAgIyBkb250IGNsb25lIHN1Ym1vZHVsZXMKICAgIHJlY3Vyc2l2ZTogZmFsc2UKICBjbG9uZS1wcjoKICAgIGltYWdlOiBoYXJib3IuY2kuZHJvbmUubG9jYWwvbGlicmFyeS9naXQtY2xvbmU6MS4wCiAgICBwdWxsOiB0cnVlCiAgICBlbnZpcm9ubWVudDoKICAgICAgRFJPTkVfUFVMTF9SRVFVRVNUOiAgJHtEUk9ORV9QVUxMX1JFUVVFU1R9CiAgICB3aGVuOgogICAgICBldmVudDogWyBwdWxsX3JlcXVlc3QgXQoKICBkaXNwbGF5LXN0YXR1czoKICAgIGltYWdlOiBoYXJib3IuY2kuZHJvbmUubG9jYWwvbGlicmFyeS92aWMtaW50ZWdyYXRpb24tdGVzdDoxLjQyCiAgICBwdWxsOiB0cnVlCiAgICBlbnZpcm9ubWVudDoKICAgICAgQklOOiBiaW4KICAgICAgU0hFTEw6IC9iaW4vYmFzaAogICAgICBDT01NSVQ6ICR7RFJPTkVfQ09NTUlUfQogICAgY29tbWFuZHM6CiAgICAgIC0gZWNobyAiRXhwZWN0aW5nICR7RFJPTkVfQ09NTUlUfSIKICAgICAgLSBnaXQgbG9nIC01CiAgICAgIC0gZ2l0IGxvZyAtMSAtLXByZXR0eT1vbmVsaW5lIHwgZ3JlcCAiXiR7RFJPTkVfQ09NTUlUfSIgPiAvZGV2L251bGwgJiYgZWNobyAnQnVpbGQgbWF0Y2hlcycgfHwgKGdpdCBsb2cgLTEgLS1wcmV0dHk9b25lbGluZSB8IGdyZXAgIk1lcmdlICR7RFJPTkVfQ09NTUlUfSIgPiAvZGV2L251bGwgJiYgZWNobyAnQnVpbGQgaXMgb2YgYSBtZXJnZSBjb21taXQnIHx8IChlY2hvICdCdWlsZCBkb2VzIG5vdCBtYXRjaCEnICYmIGV4aXQgMSkpCgogIHdhaXQtZm9yLWJ1aWxkOgogICAgaW1hZ2U6IGhhcmJvci5jaS5kcm9uZS5sb2NhbC9saWJyYXJ5L3ZpYy1pbnRlZ3JhdGlvbi10ZXN0OjEuNDIKICAgIHB1bGw6IHRydWUKICAgIGVudmlyb25tZW50OgogICAgICBCSU46IGJpbgogICAgICBHT1BBVEg6IC9nbwogICAgICBTSEVMTDogL2Jpbi9iYXNoCiAgICAgIFRFU1RfVVJMX0FSUkFZOiAke1RFU1RfVVJMX0FSUkFZfQogICAgICBEUk9ORV9TRVJWRVI6ICR7RFJPTkVfU0VSVkVSfQogICAgICBEUk9ORV9UT0tFTjogJHtEUk9ORV9UT0tFTn0KICAgIGNvbW1hbmRzOgogICAgICAtIHRlc3RzL3dhaXRfdW50aWxfcHJldmlvdXNfYnVpbGRzX2NvbXBsZXRlLnNoCgogIHZpYy1lbmdpbmU6CiAgICBpbWFnZTogaGFyYm9yLmNpLmRyb25lLmxvY2FsL2xpYnJhcnkvdmljLWludGVncmF0aW9uLXRlc3Q6MS40MgogICAgcHVsbDogdHJ1ZQogICAgZW52aXJvbm1lbnQ6CiAgICAgIEJJTjogYmluCiAgICAgIEdPUEFUSDogL2dvCiAgICAgIFNIRUxMOiAvYmluL2Jhc2gKICAgICAgRFJPTkVfU0VSVkVSOiAgJHtEUk9ORV9TRVJWRVJ9CiAgICAgIERST05FX1RPS0VOOiAgJHtEUk9ORV9UT0tFTn0KICAgICAgVEVTVF9VUkxfQVJSQVk6ICAke1RFU1RfVVJMX0FSUkFZfQogICAgICBURVNUX1VTRVJOQU1FOiAgJHtURVNUX1VTRVJOQU1FfQogICAgICBURVNUX1BBU1NXT1JEOiAgJHtURVNUX1BBU1NXT1JEfQogICAgICBSRUdJU1RSWV9QQVNTV09SRDogICR7UkVHSVNUUllfUEFTU1dPUkR9CiAgICAgIEJVSUxEX05VTUJFUjogJHtEUk9ORV9CVUlMRF9OVU1CRVJ9CiAgICAgIENPTU1JVDogJHtEUk9ORV9DT01NSVR9CiAgICBjb21tYW5kczoKICAgICAgLSBtYWtlIG1hcmsKICAgICAgLSBtYWtlIGFsbAogICAgICAtIG1ha2Ugc2luY2VtYXJrCiAgICAgIC0gbWFrZSBtYXJrCiAgICAgIC0gZWNobyBgbHMgdmVuZG9yL2dpdGh1Yi5jb20vdm13YXJlL2dvdm1vbWkvdmltMjUvbWV0aG9kc2AKICAgICAgLSBlY2hvIGBscyB2ZW5kb3IvZ2l0aHViLmNvbS92bXdhcmUvZ292bW9taS92aW0yNS90eXBlc2AKICAgICAgLSBlY2hvIGBscyB2ZW5kb3IvZ2l0aHViLmNvbS9kb2NrZXIvZG9ja2VyL3ZlbmRvci9naXRodWIuY29tL29wZW5jb250YWluZXJzL3J1bmMvbGliY29udGFpbmVyL3N5c3RlbWAKICAgICAgLSBleHBvcnQgVklDX0VTWF9VUkxfQVJSQVk9ImB0ZXN0cy9nZXRfdGVzdF91cmwuc2hgIgogICAgICAtIHRlc3RzL3VuaXQtdGVzdC1jaGVjay5zaAogICAgICAtIG1ha2Ugc2luY2VtYXJrCiAgICB3aGVuOgogICAgICBzdGF0dXM6ICBzdWNjZXNzCgogIHZpYy1pbnRlZ3JhdGlvbi10ZXN0LW9uLXByOgogICAgaW1hZ2U6IGhhcmJvci5jaS5kcm9uZS5sb2NhbC9saWJyYXJ5L3ZpYy1pbnRlZ3JhdGlvbi10ZXN0OjEuNDIKICAgIHB1bGw6IHRydWUKICAgIHByaXZpbGVnZWQ6IHRydWUKICAgIGVudmlyb25tZW50OgogICAgICBCSU46IGJpbgogICAgICBHT1BBVEg6IC9nbwogICAgICBTSEVMTDogL2Jpbi9iYXNoCiAgICAgIExPR19URU1QX0RJUjogaW5zdGFsbC1sb2dzCiAgICAgIEdJVEhVQl9BVVRPTUFUSU9OX0FQSV9LRVk6ICAke0dJVEhVQl9BVVRPTUFUSU9OX0FQSV9LRVl9CiAgICAgIERST05FX1NFUlZFUjogICR7RFJPTkVfU0VSVkVSfQogICAgICBEUk9ORV9UT0tFTjogICR7RFJPTkVfVE9LRU59CiAgICAgIERST05FX01BQ0hJTkU6ICAke0RST05FX01BQ0hJTkV9CiAgICAgIFRFU1RfVVJMX0FSUkFZOiAgJHtURVNUX1VSTF9BUlJBWX0KICAgICAgVEVTVF9VU0VSTkFNRTogICR7VEVTVF9VU0VSTkFNRX0KICAgICAgVEVTVF9QQVNTV09SRDogICR7VEVTVF9QQVNTV09SRH0KICAgICAgUkVHSVNUUllfUEFTU1dPUkQ6ICAke1JFR0lTVFJZX1BBU1NXT1JEfQogICAgICBURVNUX0RBVEFTVE9SRTogJHtURVNUX0RBVEFTVE9SRX0KICAgICAgVEVTVF9USU1FT1VUOiAke1RFU1RfVElNRU9VVH0KICAgICAgUkVQT1JUSU5HX1NFUlZFUl9VUkw6ICR7UkVQT1JUSU5HX1NFUlZFUl9VUkx9CiAgICAgIEdPVkNfSU5TRUNVUkU6IHRydWUKICAgICAgR09WQ19VU0VSTkFNRTogICR7VEVTVF9VU0VSTkFNRX0KICAgICAgR09WQ19QQVNTV09SRDogICR7VEVTVF9QQVNTV09SRH0KICAgICAgR09WQ19EQVRBU1RPUkU6ICR7VEVTVF9EQVRBU1RPUkV9CiAgICAgIEdTX1BST0pFQ1RfSUQ6ICR7R1NfUFJPSkVDVF9JRH0KICAgICAgR1NfQ0xJRU5UX0VNQUlMOiAke0dTX0NMSUVOVF9FTUFJTH0KICAgICAgR1NfUFJJVkFURV9LRVk6ICR7R1NfUFJJVkFURV9LRVl9CiAgICAgIERPTUFJTjogJHtDSV9ET01BSU59CiAgICAgIFNZU0xPR19TRVJWRVI6ICR7U1lTTE9HX1NFUlZFUn0KICAgICAgU1lTTE9HX1VTRVI6ICR7U1lTTE9HX1VTRVJ9CiAgICAgIFNZU0xPR19QQVNTV0Q6ICR7U1lTTE9HX1BBU1NXRH0KICAgIGNvbW1hbmRzOgogICAgICAtIC4gLi90ZXN0cy9jaS1lbnYuc2ggIyBzZXQgQ0kgZW52IHZhcmlhYmxlIHZhbHVlcwogICAgICAtIG1ha2UgbWFyawogICAgICAtIHRlc3RzL2ludGVncmF0aW9uLXRlc3Quc2gKICAgICAgLSBtYWtlIHNpbmNlbWFyawogICAgdm9sdW1lczoKICAgICAgLSAvdG1wCiAgICAgIC0gL2hvbWUvdmljOi9jaQogICAgd2hlbjoKICAgICAgc3RhdHVzOiAgc3VjY2VzcwoKICB2aWMtdWk6CiAgICBpbWFnZTogaGFyYm9yLmNpLmRyb25lLmxvY2FsL2xpYnJhcnkvdmljLWludGVncmF0aW9uLXRlc3Q6MS40MgogICAgcHVsbDogdHJ1ZQogICAgZW52aXJvbm1lbnQ6CiAgICAgIEJVSUxEX05VTUJFUjogJHtEUk9ORV9CVUlMRF9OVU1CRVJ9CiAgICAgIEJJTjogYmluCiAgICAgIEdTX1BST0pFQ1RfSUQ6ICR7R1NfUFJPSkVDVF9JRH0KICAgICAgR1NfQ0xJRU5UX0VNQUlMOiAke0dTX0NMSUVOVF9FTUFJTH0KICAgICAgR1NfUFJJVkFURV9LRVk6ICR7R1NfUFJJVkFURV9LRVl9CiAgICBjb21tYW5kczoKICAgICAgLSBta2RpciAtcCAkQklOL3VpCiAgICAgIC0gZXhwb3J0IExBVEVTVF9WSUNfVUlfQlVJTEQ9IiQoZ3N1dGlsIGxzIC1sICdnczovL3ZpYy11aS1idWlsZHMnIHwgZ3JlcCAtdiBUT1RBTCB8IGdyZXAgdmljXyB8IHNvcnQgLWsyIC1yIHwgKHRyYXAgJyAnIFBJUEU7IGhlYWQgLTEpKSIKICAgICAgLSBleHBvcnQgVklDX1VJX1VSTD0kKGVjaG8gJExBVEVTVF9WSUNfVUlfQlVJTEQgfCB4YXJncyB8IGN1dCAtZCAiICIgLWYgMyB8IHNlZCAicy9nczpcL1wvL2h0dHBzOlwvXC9zdG9yYWdlLmdvb2dsZWFwaXMuY29tXC8vIikKICAgICAgLSB3Z2V0IC1udiAkVklDX1VJX1VSTCAtUCAkQklOCiAgICAgIC0gdGFyIC14dnpmICRCSU4vdmljX3VpXyoudGFyLmd6CiAgICAgIC0gbHMgLWxhIC4vJEJJTiAmJiAuLyRCSU4vdWkvc3luYy12aWMtdWktdmVyc2lvbi5zaCAtcCBiaW4vIDI-JjEKICAgICAgLSBybSAkQklOL3ZpY191aV8qLnRhci5negogICAgd2hlbjoKICAgICAgc3RhdHVzOiAgc3VjY2VzcwogICAgICBicmFuY2g6IFsgbWFzdGVyIF0KCiAgdmljLXVpLXJlbGVhc2U6CiAgICBpbWFnZTogaGFyYm9yLmNpLmRyb25lLmxvY2FsL2xpYnJhcnkvdmljLWludGVncmF0aW9uLXRlc3Q6MS40MgogICAgcHVsbDogdHJ1ZQogICAgZW52aXJvbm1lbnQ6CiAgICAgIEJVSUxEX05VTUJFUjogJHtEUk9ORV9CVUlMRF9OVU1CRVJ9CiAgICAgIEJJTjogYmluCiAgICAgIEdTX1BST0pFQ1RfSUQ6ICR7R1NfUFJPSkVDVF9JRH0KICAgICAgR1NfQ0xJRU5UX0VNQUlMOiAke0dTX0NMSUVOVF9FTUFJTH0KICAgICAgR1NfUFJJVkFURV9LRVk6ICR7R1NfUFJJVkFURV9LRVl9CiAgICBjb21tYW5kczoKICAgICAgLSBta2RpciAtcCAkQklOL3VpCiAgICAgIC0gZXhwb3J0IExBVEVTVF9WSUNfVUlfUkVMRUFTRT0iJChnc3V0aWwgbHMgLWwgJ2dzOi8vdmljLXVpLXJlbGVhc2VzJyB8IGdyZXAgLXYgVE9UQUwgfCBncmVwIHZpY18gfCBzb3J0IC1rMiAtciB8ICh0cmFwICcgJyBQSVBFOyBoZWFkIC0xKSkiCiAgICAgIC0gZXhwb3J0IFZJQ19VSV9VUkw9JChlY2hvICRMQVRFU1RfVklDX1VJX1JFTEVBU0UgfCB4YXJncyB8IGN1dCAtZCAiICIgLWYgMyB8IHNlZCAicy9nczpcL1wvL2h0dHBzOlwvXC9zdG9yYWdlLmdvb2dsZWFwaXMuY29tXC8vIikKICAgICAgLSB3Z2V0IC1udiAkVklDX1VJX1VSTCAtUCAkQklOCiAgICAgIC0gdGFyIC14dnpmICRCSU4vdmljX3VpXyoudGFyLmd6CiAgICAgIC0gbHMgLWxhIC4vJEJJTiAmJiAuLyRCSU4vdWkvc3luYy12aWMtdWktdmVyc2lvbi5zaCAtcCBiaW4vIDI-JjEKICAgICAgLSBybSAkQklOL3ZpY191aV8qLnRhci5negogICAgd2hlbjoKICAgICAgc3RhdHVzOiAgc3VjY2VzcwogICAgICBicmFuY2g6IFsgcmVsZWFzZXMvKiwgcmVmcy90YWdzLyogXQoKICBidW5kbGU6CiAgICBpbWFnZTogaGFyYm9yLmNpLmRyb25lLmxvY2FsL2xpYnJhcnkvZ29sYW5nOjEuOAogICAgcHVsbDogdHJ1ZQogICAgZW52aXJvbm1lbnQ6CiAgICAgIEJJTjogYmluCiAgICAgIEJJTl9URU1QX0RJUjogYmluL3ZpYwogICAgICBHT1BBVEg6IC9nbwogICAgICBTSEVMTDogL2Jpbi9iYXNoCiAgICBjb21tYW5kczoKICAgICAgLSBtYWtlIG1hcmsKICAgICAgLSBybSAtcmYgJEJJTl9URU1QX0RJUgogICAgICAtIG1rZGlyIC1wICRCSU5fVEVNUF9ESVIKICAgICAgLSBtdiAkQklOL3VpICRCSU5fVEVNUF9ESVIKICAgICAgLSBjcCBMSUNFTlNFICRCSU5fVEVNUF9ESVIKICAgICAgLSBjcCBkb2MvYnVuZGxlL1JFQURNRSAkQklOX1RFTVBfRElSCiAgICAgIC0gY3AgJEJJTi92aWMtbWFjaGluZSogJEJJTl9URU1QX0RJUgogICAgICAtIGNwICRCSU4vdmljLXVpKiAkQklOX1RFTVBfRElSCiAgICAgIC0gY3AgJEJJTi9hcHBsaWFuY2UuaXNvICRCSU5fVEVNUF9ESVIKICAgICAgLSBjcCAkQklOL2Jvb3RzdHJhcC5pc28gJEJJTl9URU1QX0RJUgogICAgICAtIHRhciBjenZmICRCSU4vdmljXyR7RFJPTkVfQlVJTERfTlVNQkVSfS50YXIuZ3ogLUMgJEJJTiB2aWMKICAgICAgLSBzaGFzdW0gLWEgMjU2ICRCSU4vdmljXyR7RFJPTkVfQlVJTERfTlVNQkVSfS50YXIuZ3oKICAgICAgLSBzaGFzdW0gLWEgMSAkQklOL3ZpY18ke0RST05FX0JVSUxEX05VTUJFUn0udGFyLmd6CiAgICAgIC0gbWQ1c3VtICRCSU4vdmljXyR7RFJPTkVfQlVJTERfTlVNQkVSfS50YXIuZ3oKICAgICAgLSBkdSAta3MgJEJJTi92aWNfJHtEUk9ORV9CVUlMRF9OVU1CRVJ9LnRhci5neiB8IGF3ayAne3ByaW50ICQxIC8gMTAyNH0nIHwgeyByZWFkIHg7IGVjaG8gJHggTUI7IH0KICAgICAgLSBta2RpciBidW5kbGUKICAgICAgLSBta2RpciBidW5kbGUtcmVsZWFzZQogICAgICAtIGNwICRCSU4vdmljXyR7RFJPTkVfQlVJTERfTlVNQkVSfS50YXIuZ3ogYnVuZGxlCiAgICAgIC0gY3AgJEJJTi92aWNfJHtEUk9ORV9CVUlMRF9OVU1CRVJ9LnRhci5neiBidW5kbGUtcmVsZWFzZS92aWNfYGdpdCBkZXNjcmliZSAtLXRhZ3MgJChnaXQgcmV2LWxpc3QgLS10YWdzIC0tbWF4LWNvdW50PTEpYC50YXIuZ3oKICAgICAgLSBtYWtlIHNpbmNlbWFyawogICAgd2hlbjoKICAgICAgcmVwbzogdm13YXJlL3ZpYwogICAgICBldmVudDogWyBwdXNoLCB0YWcgXQogICAgICBicmFuY2g6IFsgbWFzdGVyLCByZWxlYXNlcy8qLCByZWZzL3RhZ3MvKiBdCgogIHB1Ymxpc2gtZ2NzLWJ1aWxkcy1vbi1wYXNzOgogICAgaW1hZ2U6IG1hcGxhaW4vZHJvbmUtZ2NzOmxhdGVzdAogICAgcHVsbDogdHJ1ZQogICAgc291cmNlOiBidW5kbGUKICAgIHRhcmdldDogdmljLWVuZ2luZS1idWlsZHMKICAgIGFjbDoKICAgICAgLSBhbGxVc2VyczpSRUFERVIKICAgIGNhY2hlX2NvbnRyb2w6IHB1YmxpYyxtYXgtYWdlPTM2MDAKICAgIHdoZW46CiAgICAgIHJlcG86IHZtd2FyZS92aWMKICAgICAgZXZlbnQ6IFsgcHVzaCBdCiAgICAgIGJyYW5jaDogWyBtYXN0ZXIsIHJlbGVhc2VzLyogXQogICAgICBzdGF0dXM6IHN1Y2Nlc3MKCiAgcHVibGlzaC1nY3MtYnVpbGRzLW9uLWZhaWw6CiAgICBpbWFnZTogbWFwbGFpbi9kcm9uZS1nY3M6bGF0ZXN0CiAgICBwdWxsOiB0cnVlCiAgICBzb3VyY2U6IGJ1bmRsZQogICAgdGFyZ2V0OiB2aWMtZW5naW5lLWZhaWxlZC1idWlsZHMKICAgIGFjbDoKICAgICAgLSBhbGxVc2VyczpSRUFERVIKICAgIGNhY2hlX2NvbnRyb2w6IHB1YmxpYyxtYXgtYWdlPTM2MDAKICAgIHdoZW46CiAgICAgIHJlcG86IHZtd2FyZS92aWMKICAgICAgZXZlbnQ6IFsgcHVzaCBdCiAgICAgIGJyYW5jaDogWyBtYXN0ZXIsIHJlbGVhc2VzLyogXQogICAgICBzdGF0dXM6IGZhaWx1cmUKCiAgcHVibGlzaC1nY3MtcmVsZWFzZXM6CiAgICBpbWFnZTogbWFwbGFpbi9kcm9uZS1nY3M6bGF0ZXN0CiAgICBwdWxsOiB0cnVlCiAgICBzb3VyY2U6IGJ1bmRsZS1yZWxlYXNlCiAgICB0YXJnZXQ6IHZpYy1lbmdpbmUtcmVsZWFzZXMKICAgIGFjbDoKICAgICAgLSBhbGxVc2VyczpSRUFERVIKICAgIGNhY2hlX2NvbnRyb2w6IHB1YmxpYyxtYXgtYWdlPTM2MDAKICAgIHdoZW46CiAgICAgIHJlcG86IHZtd2FyZS92aWMKICAgICAgZXZlbnQ6IFsgcHVzaCwgdGFnIF0KICAgICAgYnJhbmNoOiBbIHJlZnMvdGFncy8qIF0KICAgICAgc3RhdHVzOiBzdWNjZXNzCgogIHB1Ymxpc2gtdmljLW1hY2hpbmUtc2VydmVyLWRldjoKICAgIGltYWdlOiBwbHVnaW5zL2djcgogICAgcmVwbzogZW1pbmVudC1uYXRpb24tODczMTcvdmljLW1hY2hpbmUtc2VydmVyCiAgICBkb2NrZXJmaWxlOiBjbWQvdmljLW1hY2hpbmUtc2VydmVyL0RvY2tlcmZpbGUKICAgIHRhZ3M6CiAgICAgIC0gZGV2CiAgICBqc29uX2tleTogPgogICAgICB7CiAgICAgICAgInR5cGUiOiAic2VydmljZV9hY2NvdW50IiwKICAgICAgICAicHJvamVjdF9pZCI6ICIke0dTX1BST0pFQ1RfSUR9IiwKICAgICAgICAicHJpdmF0ZV9rZXlfaWQiOiAiJHtHU19QUklWQVRFX0tFWV9JRH0iLAogICAgICAgICJwcml2YXRlX2tleSI6ICIke0dTX1BSSVZBVEVfS0VZfSIsCiAgICAgICAgImNsaWVudF9lbWFpbCI6ICIke0dTX0NMSUVOVF9FTUFJTH0iLAogICAgICAgICJjbGllbnRfaWQiOiAiJHtHU19QUk9KRUNUX0lEfSIsCiAgICAgICAgImF1dGhfdXJpIjogImh0dHBzOi8vYWNjb3VudHMuZ29vZ2xlLmNvbS9vL29hdXRoMi9hdXRoIiwKICAgICAgICAidG9rZW5fdXJpIjogImh0dHBzOi8vYWNjb3VudHMuZ29vZ2xlLmNvbS9vL29hdXRoMi90b2tlbiIsCiAgICAgICAgImF1dGhfcHJvdmlkZXJfeDUwOV9jZXJ0X3VybCI6ICJodHRwczovL3d3dy5nb29nbGVhcGlzLmNvbS9vYXV0aDIvdjEvY2VydHMiLAogICAgICAgICJjbGllbnRfeDUwOV9jZXJ0X3VybCI6ICIiCiAgICAgIH0KICAgIHdoZW46CiAgICAgIHJlcG86IHZtd2FyZS92aWMKICAgICAgZXZlbnQ6IFsgcHVzaCBdCiAgICAgIGJyYW5jaDogWyBtYXN0ZXIgXQogICAgICBzdGF0dXM6IHN1Y2Nlc3MKCiAgcHVibGlzaC12aWMtbWFjaGluZS1zZXJ2ZXItcmVsZWFzZXM6CiAgICBpbWFnZTogcGx1Z2lucy9nY3IKICAgIHJlcG86IGVtaW5lbnQtbmF0aW9uLTg3MzE3L3ZpYy1tYWNoaW5lLXNlcnZlcgogICAgZG9ja2VyZmlsZTogY21kL3ZpYy1tYWNoaW5lLXNlcnZlci9Eb2NrZXJmaWxlCiAgICB0YWdzOgogICAgICAtIGxhdGVzdAogICAganNvbl9rZXk6ID4KICAgICAgewogICAgICAgICJ0eXBlIjogInNlcnZpY2VfYWNjb3VudCIsCiAgICAgICAgInByb2plY3RfaWQiOiAiJHtHU19QUk9KRUNUX0lEfSIsCiAgICAgICAgInByaXZhdGVfa2V5X2lkIjogIiR7R1NfUFJJVkFURV9LRVlfSUR9IiwKICAgICAgICAicHJpdmF0ZV9rZXkiOiAiJHtHU19QUklWQVRFX0tFWX0iLAogICAgICAgICJjbGllbnRfZW1haWwiOiAiJHtHU19DTElFTlRfRU1BSUx9IiwKICAgICAgICAiY2xpZW50X2lkIjogIiR7R1NfUFJPSkVDVF9JRH0iLAogICAgICAgICJhdXRoX3VyaSI6ICJodHRwczovL2FjY291bnRzLmdvb2dsZS5jb20vby9vYXV0aDIvYXV0aCIsCiAgICAgICAgInRva2VuX3VyaSI6ICJodHRwczovL2FjY291bnRzLmdvb2dsZS5jb20vby9vYXV0aDIvdG9rZW4iLAogICAgICAgICJhdXRoX3Byb3ZpZGVyX3g1MDlfY2VydF91cmwiOiAiaHR0cHM6Ly93d3cuZ29vZ2xlYXBpcy5jb20vb2F1dGgyL3YxL2NlcnRzIiwKICAgICAgICAiY2xpZW50X3g1MDlfY2VydF91cmwiOiAiIgogICAgICB9CiAgICB3aGVuOgogICAgICByZXBvOiB2bXdhcmUvdmljCiAgICAgIGV2ZW50OiBbIHB1c2gsIHRhZyBdCiAgICAgIGJyYW5jaDogWyByZWZzL3RhZ3MvKiwgcmVsZWFzZXMvKiBdCiAgICAgIHN0YXR1czogc3VjY2VzcwoKICB0cmlnZ2VyLWRvd25zdHJlYW06CiAgICBpbWFnZTogaGFyYm9yLmNpLmRyb25lLmxvY2FsL2xpYnJhcnkvdmljLWRvd25zdHJlYW0tdHJpZ2dlcjoxLjAKICAgIGVudmlyb25tZW50OgogICAgICBEUk9ORV9TRVJWRVI6ICR7RFJPTkVfU0VSVkVSfQogICAgICBEUk9ORV9UT0tFTjogJHtEUk9ORV9UT0tFTn0KICAgICAgU0hFTEw6IC9iaW4vYmFzaAogICAgd2hlbjoKICAgICAgcmVwbzogdm13YXJlL3ZpYwogICAgICBldmVudDogWyBwdXNoLCB0YWcgXQogICAgICBicmFuY2g6IFsgbWFzdGVyLCByZWxlYXNlcy8qLCByZWZzL3RhZ3MvKiBdCiAgICAgIHN0YXR1czogc3VjY2VzcwoKICByZXBvcnQtY292ZXJhZ2U6CiAgICAgaW1hZ2U6IHJvYmVydHN0ZXR0bmVyL2Ryb25lLWNvZGVjb3YKICAgICB0b2tlbjogJHtDT0RFQ09WX1RPS0VOfQogICAgIGZpbGVzOgogICAgICAgLSAuY292ZXIvY292ZXIub3V0CgogIG5vdGlmeS1zbGFjay1vbi1mYWlsOgogICAgaW1hZ2U6IHBsdWdpbnMvc2xhY2sKICAgIHdlYmhvb2s6ICR7U0xBQ0tfVVJMfQogICAgdXNlcm5hbWU6IGRyb25lCiAgICB0ZW1wbGF0ZTogPgogICAgICBCdWlsZCBodHRwczovL2NpLnZjbmEuaW8vdm13YXJlL3ZpYy97eyBidWlsZC5udW1iZXIgfX0gYnkge3sgYnVpbGQuYXV0aG9yIH19IGZpbmlzaGVkIHdpdGggYSB7eyBidWlsZC5zdGF0dXMgfX0gc3RhdHVzLiBMb2dzOiBodHRwczovL2NvbnNvbGUuY2xvdWQuZ29vZ2xlLmNvbS9tL2Nsb3Vkc3RvcmFnZS9iL3ZpYy1jaS1sb2dzL28vaW50ZWdyYXRpb25fbG9nc197eyBidWlsZC5udW1iZXIgfX1fe3sgYnVpbGQuY29tbWl0IH19LnppcD9hdXRodXNlcj0xCiAgICB3aGVuOgogICAgICByZXBvOiB2bXdhcmUvdmljCiAgICAgIGJyYW5jaDogWyBtYXN0ZXIsIHJlbGVhc2VzLyosIHJlZnMvdGFncy8qIF0KICAgICAgc3RhdHVzOiBmYWlsdXJlCgogIG5vdGlmeS1zbGFjay1vbi1wYXNzOgogICAgaW1hZ2U6IHBsdWdpbnMvc2xhY2sKICAgIHdlYmhvb2s6ICR7U0xBQ0tfVVJMfQogICAgdXNlcm5hbWU6IGRyb25lCiAgICB0ZW1wbGF0ZTogPgogICAgICBCdWlsZCBodHRwczovL2NpLnZjbmEuaW8vdm13YXJlL3ZpYy97eyBidWlsZC5udW1iZXIgfX0gYnkge3sgYnVpbGQuYXV0aG9yIH19IGZpbmlzaGVkIHdpdGggYSB7eyBidWlsZC5zdGF0dXMgfX0gc3RhdHVzLCBmaW5kIHRoZSBidWlsZCBhdDogaHR0cHM6Ly9zdG9yYWdlLmdvb2dsZWFwaXMuY29tL3ZpYy1lbmdpbmUtYnVpbGRzL3ZpY197eyBidWlsZC5udW1iZXIgfX0udGFyLmd6CiAgICB3aGVuOgogICAgICByZXBvOiB2bXdhcmUvdmljCiAgICAgIGJyYW5jaDogWyBtYXN0ZXIsIHJlbGVhc2VzLyogXQogICAgICBzdGF0dXM6IHN1Y2Nlc3MKCiAgbm90aWZ5LXNsYWNrLW9uLXN1Y2Nlc3NmdWwtdGFnOgogICAgaW1hZ2U6IHBsdWdpbnMvc2xhY2sKICAgIHdlYmhvb2s6ICR7U0xBQ0tfVVJMfQogICAgdXNlcm5hbWU6IGRyb25lCiAgICB0ZW1wbGF0ZTogPgogICAgICBUaGUgbGF0ZXN0IHZlcnNpb24gb2YgVklDIGVuZ2luZSBoYXMgYmVlbiByZWxlYXNlZCwgZmluZCB0aGUgYnVpbGQgaGVyZTogaHR0cHM6Ly9jb25zb2xlLmNsb3VkLmdvb2dsZS5jb20vc3RvcmFnZS9icm93c2VyL3ZpYy1lbmdpbmUtcmVsZWFzZXMKICAgIHdoZW46CiAgICAgIHJlcG86IHZtd2FyZS92aWMKICAgICAgYnJhbmNoOiBbIHJlZnMvdGFncy8qIF0KICAgICAgc3RhdHVzOiBzdWNjZXNzCgogIHBhc3MtcmF0ZToKICAgIGltYWdlOiBoYXJib3IuY2kuZHJvbmUubG9jYWwvbGlicmFyeS92aWMtaW50ZWdyYXRpb24tdGVzdDoxLjQyCiAgICBwdWxsOiB0cnVlCiAgICBlbnZpcm9ubWVudDoKICAgICAgQklOOiBiaW4KICAgICAgU0hFTEw6IC9iaW4vYmFzaAogICAgICBHSVRIVUJfQVVUT01BVElPTl9BUElfS0VZOiAgJHtHSVRIVUJfQVVUT01BVElPTl9BUElfS0VZfQogICAgICBTTEFDS19VUkw6ICR7U0xBQ0tfVVJMfQogICAgY29tbWFuZHM6CiAgICAgIC0gdGVzdHMvcGFzcy1yYXRlLnNoCg.sIsrIg-oxbFr5LySiuBbDHBI5D6XPVuasoIlkQwDorE \ No newline at end of file diff --git a/infra/integration-image/Dockerfile b/infra/integration-image/Dockerfile index 42913b371e..d036af2409 100644 --- a/infra/integration-image/Dockerfile +++ b/infra/integration-image/Dockerfile @@ -4,9 +4,9 @@ # docker tag vic-test gcr.io/eminent-nation-87317/vic-integration-test:1.x # gcloud auth login # gcloud docker -- push gcr.io/eminent-nation-87317/vic-integration-test:1.x -# open vpn to CI cluster then run: -# docker tag vic-test 192.168.31.15/library/vic-integration-test:1.x -# docker push 192.168.31.15/library/vic-integration-test:1.x +# download and install harbor certs, then docker login, then: +# docker tag vic-test wdc-harbor-ci.eng.vmware.com/default-project/vic-integration-test:1.x +# docker push wdc-harbor-ci.eng.vmware.com/default-project/vic-integration-test:1.x FROM golang:1.8 @@ -83,7 +83,7 @@ RUN curl -fsSLO https://releases.hashicorp.com/packer/0.12.2/packer_0.12.2_linux unzip packer_0.12.2_linux_amd64.zip -d /usr/bin && \ rm packer_0.12.2_linux_amd64.zip -RUN curl http://downloads.drone.io/release/linux/amd64/drone.tar.gz | tar zx && \ +RUN wget https://github.com/drone/drone-cli/releases/download/v0.8.3/drone_linux_amd64.tar.gz && tar zxf drone_linux_amd64.tar.gz && \ install -t /usr/local/bin drone RUN curl -sSL https://github.com/vmware/govmomi/releases/download/v0.16.0/govc_linux_amd64.gz | gzip -d > /usr/local/bin/govc && \ diff --git a/infra/scripts/local-ci.sh b/infra/scripts/local-ci.sh index 1f780e99fb..69b08e49d0 100755 --- a/infra/scripts/local-ci.sh +++ b/infra/scripts/local-ci.sh @@ -19,7 +19,7 @@ secretsfile="" docker_test="Group1-Docker-Commands" target_vch="" odir="ci-results" -ci_container="gcr.io/eminent-nation-87317/vic-integration-test:1.39" +ci_container="gcr.io/eminent-nation-87317/vic-integration-test:1.44" github_api_key="" test_url="" test_datastore="" diff --git a/isos/base/photon-local.repo b/isos/base/photon-local.repo index 2630a336eb..9f49760af4 100644 --- a/isos/base/photon-local.repo +++ b/isos/base/photon-local.repo @@ -1,5 +1,5 @@ [photon] name=VMware Photon Linux 1.0(x86_64) -baseurl=http://192.168.31.16/photon +baseurl=http://wdc-yum-builder-ci.eng.vmware.com/photon gpgcheck=0 enabled=1 diff --git a/isos/base/photon-updates-local.repo b/isos/base/photon-updates-local.repo index 1e8e8c091b..c106519550 100644 --- a/isos/base/photon-updates-local.repo +++ b/isos/base/photon-updates-local.repo @@ -1,5 +1,5 @@ [photon-updates] name=VMware Photon Linux 1.0(x86_64) -baseurl=http://192.168.31.16/photon-updates +baseurl=http://wdc-yum-builder-ci.eng.vmware.com/photon-updates gpgcheck=0 enabled=1 diff --git a/tests/ci-env.sh b/tests/ci-env.sh index b0fdb04519..b25dd5cbeb 100644 --- a/tests/ci-env.sh +++ b/tests/ci-env.sh @@ -15,20 +15,9 @@ set -e -if [ ! -f /ci/test_env ]; then - echo "'/ci/test_env' file not found! Make sure its available on host and mounted."; -fi - -# update file permissions -chmod 777 /ci/test_env - -# source env variables from volume mounted test_env file -. /ci/test_env - -# check if DRONE_MACHINE is set -# TODO: use DRONE_MACHINE from 0.8 drone version -if [ -z "${DRONE_MACHINE}" ]; then - echo "WARN: DRONE_MACHINE is not set"; +# check if DRONE_HOSTNAME is available +if [ -z "${DRONE_HOSTNAME}" ]; then + echo "WARN: DRONE_HOSTNAME is not set"; else - echo "DRONE_MACHINE is set to '$DRONE_MACHINE'"; + echo "DRONE_HOSTNAME is set to '$DRONE_HOSTNAME'"; fi diff --git a/tests/integration-test.sh b/tests/integration-test.sh index 3a15060524..d49ac528a5 100755 --- a/tests/integration-test.sh +++ b/tests/integration-test.sh @@ -20,10 +20,11 @@ set +x dpkg -l > package.list - +set -x buildinfo=$(drone build info vmware/vic $DRONE_BUILD_NUMBER) prNumber=$(drone build info --format "{{ .Ref }}" vmware/vic $DRONE_BUILD_NUMBER | cut -f 3 -d'/') -prBody=$(curl https://api.github.com/repos/vmware/vic/pulls/$prNumber | jq -r ".body") +set +x +prBody=$(curl https://api.github.com/repos/vmware/vic/pulls/$prNumber?access_token=$GITHUB_AUTOMATION_API_KEY | jq -r ".body") if (echo $prBody | grep -q "\[fast fail\]"); then export FAST_FAILURE=1 diff --git a/tests/local-integration-test.sh b/tests/local-integration-test.sh index 7291d7c81a..e90753d2da 100755 --- a/tests/local-integration-test.sh +++ b/tests/local-integration-test.sh @@ -78,7 +78,7 @@ pipeline: # dont clone submodules recursive: false vic-integration-test-on-pr: - image: gcr.io/eminent-nation-87317/vic-integration-test:1.42 + image: gcr.io/eminent-nation-87317/vic-integration-test:1.44 pull: true environment: GITHUB_AUTOMATION_API_KEY: $GITHUB_TOKEN diff --git a/tests/longevity-tests/Dockerfile.foundation b/tests/longevity-tests/Dockerfile.foundation index b8d0c13595..753a95591a 100644 --- a/tests/longevity-tests/Dockerfile.foundation +++ b/tests/longevity-tests/Dockerfile.foundation @@ -12,7 +12,7 @@ # See the License for the specific language governing permissions and # limitations under the License -FROM gcr.io/eminent-nation-87317/vic-integration-test:1.42 +FROM gcr.io/eminent-nation-87317/vic-integration-test:1.44 RUN mkdir -p /go/src/github.com/vmware/vic COPY secrets /go/src/github.com/vmware/vic ENV LONGEVITY=1 diff --git a/tests/manual-test-cases/Group5-Functional-Tests/5-21-Datastore-Path.robot b/tests/manual-test-cases/Group5-Functional-Tests/5-21-Datastore-Path.robot index 32bf8bf5a0..e4d1d7f686 100644 --- a/tests/manual-test-cases/Group5-Functional-Tests/5-21-Datastore-Path.robot +++ b/tests/manual-test-cases/Group5-Functional-Tests/5-21-Datastore-Path.robot @@ -57,7 +57,7 @@ Datastore - DS Scheme Specified in Volume Store Log To Console \nRunning custom vic-machine create - with DS Scheme in Volume Store # Need to run custom vic-machine create to specify volume store with DS scheme - ${output}= Run bin/vic-machine-linux create --debug 1 --name=%{VCH-NAME} --target=%{TEST_URL_ARRAY} --user=%{TEST_USERNAME} --bridge-network=%{BRIDGE_NETWORK} --public-network=%{PUBLIC_NETWORK} --image-store=%{TEST_DATASTORE} --volume-store=${dsScheme}%{TEST_DATASTORE}/images:default --password=%{TEST_PASSWORD} --appliance-iso=bin/appliance.iso --bootstrap-iso=bin/bootstrap.iso --insecure-registry harbor.ci.drone.local --force --kv + ${output}= Run bin/vic-machine-linux create --debug 1 --name=%{VCH-NAME} --target=%{TEST_URL_ARRAY} --user=%{TEST_USERNAME} --bridge-network=%{BRIDGE_NETWORK} --public-network=%{PUBLIC_NETWORK} --image-store=%{TEST_DATASTORE} --volume-store=${dsScheme}%{TEST_DATASTORE}/images:default --password=%{TEST_PASSWORD} --appliance-iso=bin/appliance.iso --bootstrap-iso=bin/bootstrap.iso --insecure-registry wdc-harbor-ci.eng.vmware.com --force --kv Should Contain ${output} Installer completed successfully @@ -89,5 +89,5 @@ Datastore - Space in Path with Scheme Log To Console \nRunning custom vic-machine create - with DS Scheme in Volume Store with space in path # Need to run custom vic-machine create to specify volume store with DS scheme - ${output}= Run bin/vic-machine-linux create --debug 1 --name=%{VCH-NAME} --target=%{TEST_URL_ARRAY} --user=%{TEST_USERNAME} --bridge-network=%{BRIDGE_NETWORK} --public-network=%{PUBLIC_NETWORK} --image-store=%{TEST_DATASTORE} --volume-store=${dsScheme}%{TEST_DATASTORE}/images:default --password=%{TEST_PASSWORD} --appliance-iso=bin/appliance.iso --bootstrap-iso=bin/bootstrap.iso --insecure-registry harbor.ci.drone.local --force --kv + ${output}= Run bin/vic-machine-linux create --debug 1 --name=%{VCH-NAME} --target=%{TEST_URL_ARRAY} --user=%{TEST_USERNAME} --bridge-network=%{BRIDGE_NETWORK} --public-network=%{PUBLIC_NETWORK} --image-store=%{TEST_DATASTORE} --volume-store=${dsScheme}%{TEST_DATASTORE}/images:default --password=%{TEST_PASSWORD} --appliance-iso=bin/appliance.iso --bootstrap-iso=bin/bootstrap.iso --insecure-registry wdc-harbor-ci.eng.vmware.com --force --kv Should Contain ${output} Installer completed successfully diff --git a/tests/manual-test-cases/Group5-Functional-Tests/5-7-NSX.robot b/tests/manual-test-cases/Group5-Functional-Tests/5-7-NSX.robot index 06519cd36f..dc8d956347 100644 --- a/tests/manual-test-cases/Group5-Functional-Tests/5-7-NSX.robot +++ b/tests/manual-test-cases/Group5-Functional-Tests/5-7-NSX.robot @@ -45,11 +45,11 @@ NSX Install VIC Appliance To Test Server NSX Run VIC Machine Command [Tags] secret [Arguments] ${vic-machine} ${appliance-iso} ${bootstrap-iso} ${certs} ${vol} ${debug} ${additional-args} - ${output}= Run Keyword If ${certs} Run ${vic-machine} create --debug ${debug} --name=%{VCH-NAME} --target=%{TEST_URL}%{TEST_DATACENTER} --thumbprint=%{TEST_THUMBPRINT} --user=%{TEST_USERNAME} --image-store=%{TEST_DATASTORE} --appliance-iso=${appliance-iso} --bootstrap-iso=${bootstrap-iso} --password=%{TEST_PASSWORD} --force=true --bridge-network=%{BRIDGE_NETWORK} --public-network=%{PUBLIC_NETWORK} --compute-resource=%{TEST_RESOURCE} --timeout %{TEST_TIMEOUT} --insecure-registry harbor.ci.drone.local --volume-store=%{TEST_DATASTORE}/%{VCH-NAME}-VOL:${vol} ${vicmachinetls} ${additional-args} + ${output}= Run Keyword If ${certs} Run ${vic-machine} create --debug ${debug} --name=%{VCH-NAME} --target=%{TEST_URL}%{TEST_DATACENTER} --thumbprint=%{TEST_THUMBPRINT} --user=%{TEST_USERNAME} --image-store=%{TEST_DATASTORE} --appliance-iso=${appliance-iso} --bootstrap-iso=${bootstrap-iso} --password=%{TEST_PASSWORD} --force=true --bridge-network=%{BRIDGE_NETWORK} --public-network=%{PUBLIC_NETWORK} --compute-resource=%{TEST_RESOURCE} --timeout %{TEST_TIMEOUT} --insecure-registry wdc-harbor-ci.eng.vmware.com --volume-store=%{TEST_DATASTORE}/%{VCH-NAME}-VOL:${vol} ${vicmachinetls} ${additional-args} Run Keyword If ${certs} Should Contain ${output} Installer completed successfully Return From Keyword If ${certs} ${output} - ${output}= Run Keyword Unless ${certs} Run ${vic-machine} create --debug ${debug} --name=%{VCH-NAME} --target=%{TEST_URL}%{TEST_DATACENTER} --thumbprint=%{TEST_THUMBPRINT} --user=%{TEST_USERNAME} --image-store=%{TEST_DATASTORE} --appliance-iso=${appliance-iso} --bootstrap-iso=${bootstrap-iso} --password=%{TEST_PASSWORD} --force=true --bridge-network=%{BRIDGE_NETWORK} --public-network=%{PUBLIC_NETWORK} --compute-resource=%{TEST_RESOURCE} --timeout %{TEST_TIMEOUT} --insecure-registry harbor.ci.drone.local --volume-store=%{TEST_DATASTORE}/%{VCH-NAME}-VOL:${vol} --no-tlsverify ${additional-args} + ${output}= Run Keyword Unless ${certs} Run ${vic-machine} create --debug ${debug} --name=%{VCH-NAME} --target=%{TEST_URL}%{TEST_DATACENTER} --thumbprint=%{TEST_THUMBPRINT} --user=%{TEST_USERNAME} --image-store=%{TEST_DATASTORE} --appliance-iso=${appliance-iso} --bootstrap-iso=${bootstrap-iso} --password=%{TEST_PASSWORD} --force=true --bridge-network=%{BRIDGE_NETWORK} --public-network=%{PUBLIC_NETWORK} --compute-resource=%{TEST_RESOURCE} --timeout %{TEST_TIMEOUT} --insecure-registry wdc-harbor-ci.eng.vmware.com --volume-store=%{TEST_DATASTORE}/%{VCH-NAME}-VOL:${vol} --no-tlsverify ${additional-args} Run Keyword Unless ${certs} Should Contain ${output} Installer completed successfully [Return] ${output} diff --git a/tests/resources/Github-Util.robot b/tests/resources/Github-Util.robot index ae154d691a..8ca6208edc 100644 --- a/tests/resources/Github-Util.robot +++ b/tests/resources/Github-Util.robot @@ -34,4 +34,14 @@ Post Comment To Github Issue \ ${status} ${result}= Run Keyword And Ignore Error Post https://api.github.com/repos/vmware/vic/issues/${num}/comments?access_token\=%{GITHUB_AUTOMATION_API_KEY} data={"body": "${comment}"} \ Exit For Loop If '${status}' \ Sleep 1 - Should Be Equal ${result.status_code} ${201} \ No newline at end of file + Should Be Equal ${result.status_code} ${201} + +Check VMware Organization Membership + [Arguments] ${username} + [Tags] secret + :FOR ${idx} IN RANGE 0 5 + \ ${status} ${result}= Run Keyword And Ignore Error Get https://api.github.com/orgs/vmware/members/${username}?access_token\=%{GITHUB_AUTOMATION_API_KEY} + \ Exit For Loop If '${status}' + \ Sleep 1 + ${isMember}= Run Keyword And Return Status Should Be Equal ${result.status_code} ${204} + [Return] ${isMember} diff --git a/tests/resources/VCH-Util.robot b/tests/resources/VCH-Util.robot index 2096d9e432..66dfce4f89 100644 --- a/tests/resources/VCH-Util.robot +++ b/tests/resources/VCH-Util.robot @@ -26,8 +26,8 @@ Set Test Environment Variables Run Keyword If '${status}' == 'FAIL' Set Environment Variable PUBLIC_NETWORK 'VM Network' ${status} ${message}= Run Keyword And Ignore Error Environment Variable Should Be Set TEST_DATACENTER Run Keyword If '${status}' == 'FAIL' Set Environment Variable TEST_DATACENTER ${SPACE} - ${status} ${message}= Run Keyword And Ignore Error Environment Variable Should Be Set DRONE_MACHINE - Run Keyword If '${status}' == 'FAIL' Set Environment Variable DRONE_MACHINE 'local' + ${status} ${message}= Run Keyword And Ignore Error Environment Variable Should Be Set DRONE_HOSTNAME + Run Keyword If '${status}' == 'FAIL' Set Environment Variable DRONE_HOSTNAME 'local' @{URLs}= Split String %{TEST_URL_ARRAY} ${len}= Get Length ${URLs} @@ -42,14 +42,15 @@ Set Test Environment Variables Should Be Equal As Integers ${rc} 0 Set Environment Variable TEST_THUMBPRINT ${thumbprint} Log To Console \nTEST_URL=%{TEST_URL} - Log To Console \nDRONE_MACHINE=%{DRONE_MACHINE} + Log To Console \nDRONE_HOSTNAME=%{DRONE_HOSTNAME} ${worker_date}= Run date Log To Console \nWorker_Date=${worker_date} - ${server_date}= Run govc host.date.info - Log To Console \nTest_Server_Date=\n${server_date}\n - + ${rc} ${host}= Run And Return Rc And Output govc ls host Should Be Equal As Integers ${rc} 0 + ${out}= Run govc ls -t HostSystem ${host} | xargs -I% -n1 govc host.date.info -host\=% | grep 'date and time' + Log To Console \nTest_Server_Dates=\n${out}\n + ${status} ${message}= Run Keyword And Ignore Error Environment Variable Should Be Set TEST_RESOURCE Run Keyword If '${status}' == 'FAIL' Set Environment Variable TEST_RESOURCE ${host}/Resources Set Environment Variable GOVC_RESOURCE_POOL %{TEST_RESOURCE} @@ -83,6 +84,7 @@ Set Test Environment Variables Set Test VCH Name ${name}= Evaluate 'VCH-%{DRONE_BUILD_NUMBER}-' + str(random.randint(1000,9999)) modules=random Set Environment Variable VCH-NAME ${name} + Log Set VCH-NAME as ${name} Set List Of Env Variables [Arguments] ${vars} @@ -128,7 +130,9 @@ Get Docker Params ${ip}= Strip String @{hostParts}[0] ${port}= Strip String @{hostParts}[1] Set Environment Variable VCH-IP ${ip} + Log Set VCH-IP as ${ip} Set Environment Variable VCH-PORT ${port} + Log Set VCH-PORT as ${port} :FOR ${index} ${item} IN ENUMERATE @{output} \ ${status} ${message}= Run Keyword And Ignore Error Should Contain ${item} http @@ -143,6 +147,7 @@ Get Docker Params ... ELSE Split String From Right ${ext-ip} ${SPACE} 1 ${ext-ip}= Strip String ${ext-ip} Set Environment Variable EXT-IP ${ext-ip} + Log Set EXT-IP as ${ext-ip} ${status}= Run Keyword And Return Status Should Match Regexp ${line} msg\="([^"]*)" @@ -272,6 +277,7 @@ Install VIC Appliance To Test Server [Arguments] ${vic-machine}=bin/vic-machine-linux ${appliance-iso}=bin/appliance.iso ${bootstrap-iso}=bin/bootstrap.iso ${certs}=${true} ${vol}=default ${cleanup}=${true} ${debug}=1 ${additional-args}=${EMPTY} Set Test Environment Variables ${output}= Install VIC Appliance To Test Server With Current Environment Variables ${vic-machine} ${appliance-iso} ${bootstrap-iso} ${certs} ${vol} ${cleanup} ${debug} ${additional-args} + Log ${output} [Return] ${output} Install VIC Appliance To Test Server With Current Environment Variables @@ -300,11 +306,11 @@ Install VIC Appliance To Test Server With Current Environment Variables Run VIC Machine Command [Tags] secret [Arguments] ${vic-machine} ${appliance-iso} ${bootstrap-iso} ${certs} ${vol} ${debug} ${additional-args} - ${output}= Run Keyword If ${certs} Run ${vic-machine} create --debug ${debug} --name=%{VCH-NAME} --target=%{TEST_URL}%{TEST_DATACENTER} --thumbprint=%{TEST_THUMBPRINT} --user=%{TEST_USERNAME} --image-store=%{TEST_DATASTORE} --appliance-iso=${appliance-iso} --bootstrap-iso=${bootstrap-iso} --password=%{TEST_PASSWORD} --force=true --bridge-network=%{BRIDGE_NETWORK} --public-network=%{PUBLIC_NETWORK} --compute-resource=%{TEST_RESOURCE} --timeout %{TEST_TIMEOUT} --insecure-registry harbor.ci.drone.local --volume-store=%{TEST_DATASTORE}/%{VCH-NAME}-VOL:${vol} --container-network=%{PUBLIC_NETWORK}:public ${vicmachinetls} ${additional-args} + ${output}= Run Keyword If ${certs} Run ${vic-machine} create --debug ${debug} --name=%{VCH-NAME} --target=%{TEST_URL}%{TEST_DATACENTER} --thumbprint=%{TEST_THUMBPRINT} --user=%{TEST_USERNAME} --image-store=%{TEST_DATASTORE} --appliance-iso=${appliance-iso} --bootstrap-iso=${bootstrap-iso} --password=%{TEST_PASSWORD} --force=true --bridge-network=%{BRIDGE_NETWORK} --public-network=%{PUBLIC_NETWORK} --compute-resource=%{TEST_RESOURCE} --timeout %{TEST_TIMEOUT} --insecure-registry wdc-harbor-ci.eng.vmware.com --volume-store=%{TEST_DATASTORE}/%{VCH-NAME}-VOL:${vol} --container-network=%{PUBLIC_NETWORK}:public ${vicmachinetls} ${additional-args} Run Keyword If ${certs} Should Contain ${output} Installer completed successfully Return From Keyword If ${certs} ${output} - ${output}= Run Keyword Unless ${certs} Run ${vic-machine} create --debug ${debug} --name=%{VCH-NAME} --target=%{TEST_URL}%{TEST_DATACENTER} --thumbprint=%{TEST_THUMBPRINT} --user=%{TEST_USERNAME} --image-store=%{TEST_DATASTORE} --appliance-iso=${appliance-iso} --bootstrap-iso=${bootstrap-iso} --password=%{TEST_PASSWORD} --force=true --bridge-network=%{BRIDGE_NETWORK} --public-network=%{PUBLIC_NETWORK} --compute-resource=%{TEST_RESOURCE} --timeout %{TEST_TIMEOUT} --insecure-registry harbor.ci.drone.local --volume-store=%{TEST_DATASTORE}/%{VCH-NAME}-VOL:${vol} --container-network=%{PUBLIC_NETWORK}:public --no-tlsverify ${additional-args} + ${output}= Run Keyword Unless ${certs} Run ${vic-machine} create --debug ${debug} --name=%{VCH-NAME} --target=%{TEST_URL}%{TEST_DATACENTER} --thumbprint=%{TEST_THUMBPRINT} --user=%{TEST_USERNAME} --image-store=%{TEST_DATASTORE} --appliance-iso=${appliance-iso} --bootstrap-iso=${bootstrap-iso} --password=%{TEST_PASSWORD} --force=true --bridge-network=%{BRIDGE_NETWORK} --public-network=%{PUBLIC_NETWORK} --compute-resource=%{TEST_RESOURCE} --timeout %{TEST_TIMEOUT} --insecure-registry wdc-harbor-ci.eng.vmware.com --volume-store=%{TEST_DATASTORE}/%{VCH-NAME}-VOL:${vol} --container-network=%{PUBLIC_NETWORK}:public --no-tlsverify ${additional-args} Run Keyword Unless ${certs} Should Contain ${output} Installer completed successfully [Return] ${output} @@ -323,6 +329,7 @@ Run Secret VIC Machine Inspect Command Run VIC Machine Delete Command ${rc} ${output}= Run Secret VIC Machine Delete Command %{VCH-NAME} + Log ${output} Wait Until Keyword Succeeds 6x 5s Check Delete Success %{VCH-NAME} Should Be Equal As Integers ${rc} 0 Should Contain ${output} Completed successfully @@ -332,11 +339,13 @@ Run VIC Machine Delete Command Run VIC Machine Inspect Command [Arguments] ${name}=%{VCH-NAME} ${rc} ${output}= Run Secret VIC Machine Inspect Command ${name} + Log ${output} Get Docker Params ${output} ${true} Inspect VCH [Arguments] ${expected} ${rc} ${output}= Run And Return Rc And Output bin/vic-machine-linux inspect --name=%{VCH-NAME} --target=%{TEST_URL}%{TEST_DATACENTER} --thumbprint=%{TEST_THUMBPRINT} --user=%{TEST_USERNAME} --password=%{TEST_PASSWORD} --compute-resource=%{TEST_RESOURCE} + Log ${output} Should Be Equal As Integers ${rc} 0 Should Contain ${output} ${expected} @@ -353,6 +362,7 @@ VCH Docker Info Check UpdateInProgress [Arguments] ${expected} ${rc} ${output}= Run And Return Rc And Output govc vm.info -e %{VCH-NAME} | grep UpdateInProgress + Log ${output} Should Be Equal As Integers ${rc} 0 Should Contain ${output} ${expected} @@ -369,9 +379,12 @@ Gather Logs From Test Server Run Keyword And Continue On Failure Run zip %{VCH-NAME}-certs -r %{VCH-NAME} Secret Curl Container Logs ${name-suffix} ${host}= Get VM Host Name %{VCH-NAME} + Log ${host} ${out}= Run govc datastore.download -host ${host} %{VCH-NAME}/vmware.log %{VCH-NAME}-vmware${name-suffix}.log + Log ${out} Should Contain ${out} OK ${out}= Run govc datastore.download -host ${host} %{VCH-NAME}/tether.debug %{VCH-NAME}-tether${name-suffix}.debug + Log ${out} Should Contain ${out} OK Run Keyword If '%{HOST_TYPE}' == 'ESXi' Run govc logs -log=vmkernel -n=10000 > vmkernel${name-suffix}.log @@ -382,6 +395,8 @@ Secret Curl Container Logs Log ${out} ${out}= Run curl -k -b vic-admin-cookies %{VIC-ADMIN}/container-logs.zip -o ${SUITE NAME}-%{VCH-NAME}-container-logs${name-suffix}.zip Log ${out} + ${out}= Run curl -k -b vic-admin-cookies %{VIC-ADMIN}/logs/port-layer.log + Should Not Contain ${out} SIGSEGV: segmentation violation Remove File vic-admin-cookies Check For The Proper Log Files @@ -426,6 +441,7 @@ Cleanup VIC Appliance On Test Server Return From Keyword If ${exclude} Log To Console Deleting the VCH appliance %{VCH-NAME} ${output}= Run VIC Machine Delete Command + Log ${output} Run Keyword And Ignore Error Cleanup VCH Bridge Network %{VCH-NAME} Run Keyword And Ignore Error Run govc datastore.rm %{VCH-NAME}-VOL [Return] ${output} @@ -439,13 +455,16 @@ Cleanup VCH Bridge Network Add VC Distributed Portgroup [Arguments] ${dvs} ${pg} ${out}= Run govc dvs.portgroup.add -nports 12 -dc=%{TEST_DATACENTER} -dvs=${dvs} ${pg} + Log ${out} Remove VC Distributed Portgroup [Arguments] ${pg} ${out}= Run govc object.destroy %{TEST_DATACENTER}/network/${pg} + Log ${out} Cleanup Datastore On Test Server ${out}= Run govc datastore.ls + Log ${out} ${exceptions}= Get Environment Variable VM_EXCEPTIONS ${EMPTY} ${items}= Split To Lines ${out} :FOR ${item} IN @{items} @@ -465,6 +484,7 @@ Cleanup Datastore On Test Server Cleanup Dangling VMs On Test Server ${out}= Run govc ls vm + Log ${out} ${exceptions}= Get Environment Variable VM_EXCEPTIONS ${EMPTY} ${vms}= Split To Lines ${out} :FOR ${vm} IN @{vms} @@ -484,6 +504,7 @@ Cleanup Dangling VMs On Test Server Cleanup Dangling Resource Pools On Test Server ${out}= Run govc ls host/*/Resources/* + Log ${out} ${exceptions}= Get Environment Variable VM_EXCEPTIONS ${EMPTY} ${pools}= Split To Lines ${out} :FOR ${pool} IN @{pools} @@ -503,6 +524,7 @@ Cleanup Dangling Resource Pools On Test Server Cleanup Dangling Networks On Test Server ${out}= Run govc ls network + Log ${out} ${exceptions}= Get Environment Variable VM_EXCEPTIONS ${EMPTY} ${nets}= Split To Lines ${out} :FOR ${net} IN @{nets} @@ -521,6 +543,7 @@ Cleanup Dangling Networks On Test Server Cleanup Dangling vSwitches On Test Server ${out}= Run Keyword If '%{HOST_TYPE}' == 'ESXi' Run govc host.vswitch.info | grep VCH + Log ${out} ${exceptions}= Get Environment Variable VM_EXCEPTIONS ${EMPTY} ${nets}= Split To Lines ${out} :FOR ${net} IN @{nets} @@ -582,6 +605,7 @@ Get VCH ID \ Continue For Loop If '${name}' != '${vch-name}' \ ${vch-id}= Strip String @{vch}[0] \ Log To Console \nVCH ID: ${vch-id} + \ Log VCH ID ${vch-id} \ Return From Keyword ${vch-id} # VCH upgrade helpers @@ -604,6 +628,7 @@ Clean up VIC Appliance And Local Binary Upgrade Log To Console \nUpgrading VCH... ${rc} ${output}= Run And Return Rc And Output bin/vic-machine-linux upgrade --debug 1 --name=%{VCH-NAME} --target=%{TEST_URL}%{TEST_DATACENTER} --user=%{TEST_USERNAME} --password=%{TEST_PASSWORD} --force=true --compute-resource=%{TEST_RESOURCE} --timeout %{TEST_TIMEOUT} + Log ${output} Should Contain ${output} Completed successfully Should Not Contain ${output} Rolling back upgrade Should Be Equal As Integers ${rc} 0 @@ -612,6 +637,7 @@ Upgrade with ID Log To Console \nUpgrading VCH using vch ID... ${vch-id}= Get VCH ID %{VCH-NAME} ${rc} ${output}= Run And Return Rc And Output bin/vic-machine-linux upgrade --debug 1 --id=${vch-id} --target=%{TEST_URL}%{TEST_DATACENTER} --user=%{TEST_USERNAME} --password=%{TEST_PASSWORD} --force=true --compute-resource=%{TEST_RESOURCE} --timeout %{TEST_TIMEOUT} + Log ${output} Should Contain ${output} Completed successfully Should Not Contain ${output} Rolling back upgrade Should Be Equal As Integers ${rc} 0 @@ -620,6 +646,7 @@ Check Upgraded Version ${rc} ${output}= Run And Return Rc And Output bin/vic-machine-linux version @{vers}= Split String ${output} ${rc} ${output}= Run And Return Rc And Output bin/vic-machine-linux inspect --name=%{VCH-NAME} --target=%{TEST_URL}%{TEST_DATACENTER} --thumbprint=%{TEST_THUMBPRINT} --user=%{TEST_USERNAME} --password=%{TEST_PASSWORD} --compute-resource=%{TEST_RESOURCE} + Log ${output} Should Contain ${output} Completed successfully Should Contain ${output} @{vers}[2] Should Not Contain ${output} %{INITIAL-VERSION} @@ -631,6 +658,7 @@ Check Original Version ${rc} ${output}= Run And Return Rc And Output bin/vic-machine-linux version @{vers}= Split String ${output} ${rc} ${output}= Run And Return Rc And Output bin/vic-machine-linux inspect --name=%{VCH-NAME} --target=%{TEST_URL}%{TEST_DATACENTER} --thumbprint=%{TEST_THUMBPRINT} --user=%{TEST_USERNAME} --password=%{TEST_PASSWORD} --compute-resource=%{TEST_RESOURCE} + Log ${output} Should Contain ${output} Completed successfully Should Contain ${output} %{INITIAL-VERSION} Should Be Equal As Integers ${rc} 0 @@ -640,6 +668,7 @@ Check Original Version Rollback Log To Console \nTesting rollback... ${rc} ${output}= Run And Return Rc And Output bin/vic-machine-linux upgrade --debug 1 --name=%{VCH-NAME} --target=%{TEST_URL}%{TEST_DATACENTER} --user=%{TEST_USERNAME} --password=%{TEST_PASSWORD} --force=true --compute-resource=%{TEST_RESOURCE} --timeout %{TEST_TIMEOUT} --rollback + Log ${output} Should Contain ${output} Completed successfully Should Be Equal As Integers ${rc} 0 @@ -647,5 +676,6 @@ Enable VCH SSH [Arguments] ${vic-machine}=bin/vic-machine-linux ${rootpw}=%{TEST_PASSWORD} ${target}=%{TEST_URL}%{TEST_DATACENTER} ${password}=%{TEST_PASSWORD} ${thumbprint}=%{TEST_THUMBPRINT} ${name}=%{VCH-NAME} ${user}=%{TEST_USERNAME} ${resource}=%{TEST_RESOURCE} Log To Console \nEnable SSH on vch... ${rc} ${output}= Run And Return Rc And Output ${vic-machine} debug --rootpw ${rootpw} --target ${target} --password ${password} --thumbprint ${thumbprint} --name ${name} --user ${user} --compute-resource ${resource} --enable-ssh + Log ${output} Should Be Equal As Integers ${rc} 0 Should Contain ${output} Completed successfully diff --git a/tests/resources/dynamic-vars.py b/tests/resources/dynamic-vars.py index 2211dd5f8f..3213486709 100644 --- a/tests/resources/dynamic-vars.py +++ b/tests/resources/dynamic-vars.py @@ -31,9 +31,9 @@ def getEnvironment(): return TestEnvironment.LOCAL def getName(image): - return {TestEnvironment.DRONE: 'harbor.ci.drone.local/library/{}'.format(image), + return {TestEnvironment.DRONE: 'wdc-harbor-ci.eng.vmware.com/default-project/{}'.format(image), TestEnvironment.LONGEVITY: 'vic-executor1.vcna.io/library/{}'.format(image), - TestEnvironment.LOCAL: image}[getEnvironment()] + TestEnvironment.LOCAL: 'wdc-harbor-ci.eng.vmware.com/default-project/{}'.format(image)}[getEnvironment()] # this global variable (images) is used by the Longevity scripts. If you change this, change those! # and don't inline it! diff --git a/tests/test-cases/Group0-Bugs/7137.robot b/tests/test-cases/Group0-Bugs/7137.robot index c5aad14bd6..436fca8286 100644 --- a/tests/test-cases/Group0-Bugs/7137.robot +++ b/tests/test-cases/Group0-Bugs/7137.robot @@ -33,7 +33,7 @@ Check for die events when forcing update via state refresh Should Be Equal As Integers ${rc} 0 # tight loop on inspect - this will force an inline state refresh - Run end=$(($(date +%s) + 6));while [ $(date +%s) -lt $end ]; do docker %{VCH-PARAMS} inspect ${id} >/dev/null; done + Run end=$(($(date +%s) + 12));while [ $(date +%s) -lt $end ]; do docker %{VCH-PARAMS} inspect ${id} >/dev/null; done ${rc} ${until}= Run And Return Rc And Output docker %{VCH-PARAMS} info --format '{{json .SystemTime}}' Should Be Equal As Integers ${rc} 0 diff --git a/tests/test-cases/Group1-Docker-Commands/1-02-Docker-Pull.robot b/tests/test-cases/Group1-Docker-Commands/1-02-Docker-Pull.robot index b61ca23f54..a3036d767c 100644 --- a/tests/test-cases/Group1-Docker-Commands/1-02-Docker-Pull.robot +++ b/tests/test-cases/Group1-Docker-Commands/1-02-Docker-Pull.robot @@ -89,7 +89,7 @@ Pull the same image concurrently \ Log ${res.stdout} \ Log ${res.stderr} \ Should Be Equal As Integers ${res.rc} 0 - \ Should Contain ${res.stdout} Downloaded newer image for library/redis:latest + \ Should Contain ${res.stdout} Downloaded newer image for default-project/redis:latest Pull two images that share layers concurrently ${pid1}= Start Process docker %{VCH-PARAMS} pull golang:1.7 shell=True diff --git a/tests/test-cases/Group1-Docker-Commands/1-04-Docker-Create.robot b/tests/test-cases/Group1-Docker-Commands/1-04-Docker-Create.robot index 4270ea3456..8080bfc649 100644 --- a/tests/test-cases/Group1-Docker-Commands/1-04-Docker-Create.robot +++ b/tests/test-cases/Group1-Docker-Commands/1-04-Docker-Create.robot @@ -176,7 +176,10 @@ Create a container with custom amount of memory in Bytes Should Contain ${output} 2048MB Create a container using rest api call without HostConfig in the form data - ${output}= Run curl -sk --cert %{DOCKER_CERT_PATH}/cert.pem --key %{DOCKER_CERT_PATH}/key.pem -H "Content-Type: application/json" -d '{"Image": "${busybox}", "Cmd": ["ping", "127.0.0.1"], "NetworkMode": "bridge"}' https://%{VCH-IP}:2376/containers/create + ${status}= Run Keyword And Return Status Environment Variable Should Be Set DOCKER_CERT_PATH + ${certs}= Set Variable If ${status} --cert %{DOCKER_CERT_PATH}/cert.pem --key %{DOCKER_CERT_PATH}/key.pem ${EMPTY} + + ${output}= Run curl -sk ${certs} -H "Content-Type: application/json" -d '{"Image": "${busybox}", "Cmd": ["ping", "127.0.0.1"], "NetworkMode": "bridge"}' https://%{VCH-IP}:2376/containers/create Log ${output} Should contain ${output} "Warnings":null diff --git a/tests/test-cases/Group1-Docker-Commands/1-12-Docker-RMI.robot b/tests/test-cases/Group1-Docker-Commands/1-12-Docker-RMI.robot index 9100409406..70c6d383d0 100644 --- a/tests/test-cases/Group1-Docker-Commands/1-12-Docker-RMI.robot +++ b/tests/test-cases/Group1-Docker-Commands/1-12-Docker-RMI.robot @@ -29,7 +29,7 @@ Basic docker pull, restart, and remove image # Gather logs before rebooting Run Keyword And Continue On Failure Gather Logs From Test Server -before-reboot-1 Reboot VM %{VCH-NAME} - Wait For VCH Initialization 20x 5 seconds + Wait For VCH Initialization 30x 10 seconds ${rc} ${output}= Run And Return Rc And Output docker %{VCH-PARAMS} images Should Be Equal As Integers ${rc} 0 @@ -93,7 +93,7 @@ Remove images by short and long ID after VCH restart # Gather logs before rebooting Run Keyword And Continue On Failure Gather Logs From Test Server -before-reboot-2 Reboot VM %{VCH-NAME} - Wait For VCH Initialization 20x 5 seconds + Wait For VCH Initialization 30x 10 seconds # Remove image by short ID ${rc} ${busybox-shortID}= Run And Return Rc And Output docker %{VCH-PARAMS} images -q ${busybox} diff --git a/tests/test-cases/Group1-Docker-Commands/1-19-Docker-Volume-Create.robot b/tests/test-cases/Group1-Docker-Commands/1-19-Docker-Volume-Create.robot index d4d28157d2..f9b34a1223 100644 --- a/tests/test-cases/Group1-Docker-Commands/1-19-Docker-Volume-Create.robot +++ b/tests/test-cases/Group1-Docker-Commands/1-19-Docker-Volume-Create.robot @@ -177,32 +177,34 @@ Docker volume create with possibly invalid name Should Be Equal As Strings ${output} Error response from daemon: volume name "test???" includes invalid characters, only "[a-zA-Z0-9][a-zA-Z0-9_.-]" are allowed Docker volume verify anonymous volume contains base image files - ${rc} ${output}= Run And Return Rc And Output docker %{VCH-PARAMS} run --name verify-anon-1 jakedsouza/group-1-19-docker-verify-volume-files:1.0 ls /etc/example - Should Be Equal As Integers ${rc} 0 - Should Contain ${output} thisshouldexist - Should Contain ${output} testfile.txt - - ${rc} ${output}= Run And Return Rc And Output docker %{VCH-PARAMS} run --name verify-anon-2 jakedsouza/group-1-19-docker-verify-volume-files:1.0 cat /etc/example/testfile.txt - Should Be Equal As Integers ${rc} 0 - Should Contain ${output} TestFile - -Docker volume verify named volume contains base image files - ${rc} ${output}= Run And Return Rc And Output docker %{VCH-PARAMS} run --name verify-named-1 -v test15:/etc/example jakedsouza/group-1-19-docker-verify-volume-files:1.0 cat /etc/example/testfile.txt - Should Be Equal As Integers ${rc} 0 - Should Contain ${output} TestFile + ${status}= Get State Of Github Issue 7365 + Run Keyword If '${status}' == 'closed' Fail Test 1-19-Docker-Volume-Create.robot needs to be updated now that Issue #7365 has been resolved +# ${rc} ${output}= Run And Return Rc And Output docker %{VCH-PARAMS} run --name verify-anon-1 jakedsouza/group-1-19-docker-verify-volume-files:1.0 ls /etc/example +# Should Be Equal As Integers ${rc} 0 +# Should Contain ${output} thisshouldexist +# Should Contain ${output} testfile.txt + +# ${rc} ${output}= Run And Return Rc And Output docker %{VCH-PARAMS} run --name verify-anon-2 jakedsouza/group-1-19-docker-verify-volume-files:1.0 cat /etc/example/testfile.txt +# Should Be Equal As Integers ${rc} 0 +# Should Contain ${output} TestFile + +#Docker volume verify named volume contains base image files +# ${rc} ${output}= Run And Return Rc And Output docker %{VCH-PARAMS} run --name verify-named-1 -v test15:/etc/example jakedsouza/group-1-19-docker-verify-volume-files:1.0 cat /etc/example/testfile.txt +# Should Be Equal As Integers ${rc} 0 +# Should Contain ${output} TestFile # Verify file is copied to volumeA - ${rc} ${output}= Run And Return Rc And Output docker %{VCH-PARAMS} run --name verify-named-2 -v test15:/mnt/test15 jakedsouza/group-1-19-docker-verify-volume-files:1.0 cat /mnt/test15/testfile.txt - Should Be Equal As Integers ${rc} 0 - Should Contain ${output} TestFile +# ${rc} ${output}= Run And Return Rc And Output docker %{VCH-PARAMS} run --name verify-named-2 -v test15:/mnt/test15 jakedsouza/group-1-19-docker-verify-volume-files:1.0 cat /mnt/test15/testfile.txt +# Should Be Equal As Integers ${rc} 0 +# Should Contain ${output} TestFile -Docker volume verify files are not copied again in a non empty volume - ${rc} ${output}= Run And Return Rc And Output docker %{VCH-PARAMS} run -v test16:/etc/example jakedsouza/group-1-19-docker-verify-volume-files:1.0 sh -c "echo test16modified >> /etc/example/testfile.txt" - Should Be Equal As Integers ${rc} 0 +#Docker volume verify files are not copied again in a non empty volume +# ${rc} ${output}= Run And Return Rc And Output docker %{VCH-PARAMS} run -v test16:/etc/example jakedsouza/group-1-19-docker-verify-volume-files:1.0 sh -c "echo test16modified >> /etc/example/testfile.txt" +# Should Be Equal As Integers ${rc} 0 # Verify modified file remains - ${rc} ${output}= Run And Return Rc And Output docker %{VCH-PARAMS} run -v test16:/etc/example jakedsouza/group-1-19-docker-verify-volume-files:1.0 cat /etc/example/testfile.txt - Should Be Equal As Integers ${rc} 0 - Should Contain ${output} test16modified +# ${rc} ${output}= Run And Return Rc And Output docker %{VCH-PARAMS} run -v test16:/etc/example jakedsouza/group-1-19-docker-verify-volume-files:1.0 cat /etc/example/testfile.txt +# Should Be Equal As Integers ${rc} 0 +# Should Contain ${output} test16modified Docker volume conflict in new container ${rc} ${output}= Run And Return Rc And Output docker %{VCH-PARAMS} volume create diff --git a/tests/test-cases/Group1-Docker-Commands/1-23-Docker-Inspect.robot b/tests/test-cases/Group1-Docker-Commands/1-23-Docker-Inspect.robot index ee5184b1ee..19de785c4a 100644 --- a/tests/test-cases/Group1-Docker-Commands/1-23-Docker-Inspect.robot +++ b/tests/test-cases/Group1-Docker-Commands/1-23-Docker-Inspect.robot @@ -45,7 +45,7 @@ Docker inspect image specifying incorrect type ${rc} ${output}= Run And Return Rc And Output docker %{VCH-PARAMS} inspect --type=container ${busybox} Should Be Equal As Integers ${rc} 1 ${out}= Run Keyword If '${busybox}' == 'busybox' Should Contain ${output} Error: No such container: busybox - ${out}= Run Keyword Unless '${busybox}' == 'busybox' Should Contain ${output} Error: No such container: harbor.ci.drone.local/library/busybox + ${out}= Run Keyword Unless '${busybox}' == 'busybox' Should Contain ${output} Error: No such container: wdc-harbor-ci.eng.vmware.com/default-project/busybox Simple docker inspect of container ${rc} ${container}= Run And Return Rc And Output docker %{VCH-PARAMS} create ${busybox} @@ -154,4 +154,4 @@ Docker inspect container status Should Be Equal As Integers ${rc} 0 # keyword at top of file ${stopped}= Get container inspect status ${container} - Should Contain ${stopped} exited \ No newline at end of file + Should Contain ${stopped} exited diff --git a/tests/test-cases/Group1-Docker-Commands/1-39-Docker-Stats.robot b/tests/test-cases/Group1-Docker-Commands/1-39-Docker-Stats.robot index a8cc823cbe..90d005488b 100644 --- a/tests/test-cases/Group1-Docker-Commands/1-39-Docker-Stats.robot +++ b/tests/test-cases/Group1-Docker-Commands/1-39-Docker-Stats.robot @@ -88,7 +88,9 @@ Stats No Stream All Containers Should Contain ${output} ${stop} Stats API Memory Validation - ${rc} ${apiMem}= Run And Return Rc And Output curl -sk --cert %{DOCKER_CERT_PATH}/cert.pem --key %{DOCKER_CERT_PATH}/key.pem -H "Accept: application/json" -H "Content-Type: application/json" -X GET https://%{VCH-IP}:%{VCH-PORT}/containers/%{STRESSED}/stats?stream=false | jq -r .memory_stats.usage + ${status}= Run Keyword And Return Status Environment Variable Should Be Set DOCKER_CERT_PATH + ${certs}= Set Variable If ${status} --cert %{DOCKER_CERT_PATH}/cert.pem --key %{DOCKER_CERT_PATH}/key.pem ${EMPTY} + ${rc} ${apiMem}= Run And Return Rc And Output curl -sk ${certs} -H "Accept: application/json" -H "Content-Type: application/json" -X GET https://%{VCH-IP}:%{VCH-PORT}/containers/%{STRESSED}/stats?stream=false | jq -r .memory_stats.usage Should Be Equal As Integers ${rc} 0 ${stress}= Get Container ShortID %{STRESSED} ${vmomiMemory}= Get Average Active Memory %{VM-PATH} @@ -99,7 +101,9 @@ Stats API Memory Validation Should Be True ${diff} < 1000 Stats API CPU Validation - ${rc} ${apiCPU}= Run And Return Rc And Output curl -sk --cert %{DOCKER_CERT_PATH}/cert.pem --key %{DOCKER_CERT_PATH}/key.pem -H "Accept: application/json" -H "Content-Type: application/json" -X GET https://%{VCH-IP}:%{VCH-PORT}/containers/%{STRESSED}/stats?stream=false + ${status}= Run Keyword And Return Status Environment Variable Should Be Set DOCKER_CERT_PATH + ${certs}= Set Variable If ${status} --cert %{DOCKER_CERT_PATH}/cert.pem --key %{DOCKER_CERT_PATH}/key.pem ${EMPTY} + ${rc} ${apiCPU}= Run And Return Rc And Output curl -sk ${certs} -H "Accept: application/json" -H "Content-Type: application/json" -X GET https://%{VCH-IP}:%{VCH-PORT}/containers/%{STRESSED}/stats?stream=false Should Be Equal As Integers ${rc} 0 Should Contain ${apiCPU} cpu_stats Should Contain ${apiCPU} cpu_usage @@ -117,7 +121,9 @@ Stats No Stream Specific Stopped Container Should Contain ${output} ${stop} Stats API Disk and Network Validation - ${rc} ${api}= Run And Return Rc And Output curl -sk --cert %{DOCKER_CERT_PATH}/cert.pem --key %{DOCKER_CERT_PATH}/key.pem -H "Accept: application/json" -H "Content-Type: application/json" -X GET https://%{VCH-IP}:%{VCH-PORT}/containers/%{STRESSED}/stats?stream=false + ${status}= Run Keyword And Return Status Environment Variable Should Be Set DOCKER_CERT_PATH + ${certs}= Set Variable If ${status} --cert %{DOCKER_CERT_PATH}/cert.pem --key %{DOCKER_CERT_PATH}/key.pem ${EMPTY} + ${rc} ${api}= Run And Return Rc And Output curl -sk ${certs} -H "Accept: application/json" -H "Content-Type: application/json" -X GET https://%{VCH-IP}:%{VCH-PORT}/containers/%{STRESSED}/stats?stream=false Should Be Equal As Integers ${rc} 0 Should Contain ${api} ethernet Should Contain ${api} Read diff --git a/tests/test-cases/Group1-Docker-Commands/1-41-Docker-Commit.robot b/tests/test-cases/Group1-Docker-Commands/1-41-Docker-Commit.robot index 5e1ba40853..b52d105f5b 100644 --- a/tests/test-cases/Group1-Docker-Commands/1-41-Docker-Commit.robot +++ b/tests/test-cases/Group1-Docker-Commands/1-41-Docker-Commit.robot @@ -33,7 +33,7 @@ Commit nano to image Should Be Equal As Integers ${rc} 0 ${rc} ${output}= Run And Return Rc And Output docker %{VCH-PARAMS} run debian-nano whereis nano Should Be Equal As Integers ${rc} 0 - Should Contain ${output} /usr/bin/nano + Should Contain ${output} /bin/nano Commit env variable to image ${rc} ${output}= Run And Return Rc And Output docker %{VCH-PARAMS} run -d --name commit2 ${debian} tail -f /dev/null diff --git a/tests/test-cases/Group10-VCH-Restart/10-01-VCH-Restart.robot b/tests/test-cases/Group10-VCH-Restart/10-01-VCH-Restart.robot index 63fd345e2f..ee0e51be16 100644 --- a/tests/test-cases/Group10-VCH-Restart/10-01-VCH-Restart.robot +++ b/tests/test-cases/Group10-VCH-Restart/10-01-VCH-Restart.robot @@ -155,6 +155,8 @@ Container on Open Network And Port Forwarding Persist After Reboot Log To Console Create Port Groups For Container network ${out}= Run Keyword If '%{HOST_TYPE}' == 'ESXi' Run govc host.portgroup.add -vswitch vSwitchLAN open-net + ${out}= Run Keyword If '%{HOST_TYPE}' == 'VC' Add VC Distributed Portgroup test-ds open-net + Log ${out} Install VIC Appliance To Test Server additional-args=--container-network=open-net --container-network-firewall=open-net:open @@ -197,6 +199,10 @@ Container on Open Network And Port Forwarding Persist After Reboot Should Not Be Equal As Integers ${rc1} 0 Should Not Be Equal As Integers ${rc2} 0 + Log To Console Cleanup Port Groups For Container network + ${out}= Run Keyword If '%{HOST_TYPE}' == 'ESXi' Run govc host.portgroup.remove open-net + ${out}= Run Keyword If '%{HOST_TYPE}' == 'VC' Remove VC Distributed Portgroup open-net + Log ${out} Create VCH attach disk and reboot ${rc}= Run And Return Rc govc vm.disk.create -vm=%{VCH-NAME} -name=%{VCH-NAME}/deleteme -size "16M" diff --git a/tests/test-cases/Group6-VIC-Machine/6-04-Create-Basic.robot b/tests/test-cases/Group6-VIC-Machine/6-04-Create-Basic.robot index 22231807e9..05190c737c 100644 --- a/tests/test-cases/Group6-VIC-Machine/6-04-Create-Basic.robot +++ b/tests/test-cases/Group6-VIC-Machine/6-04-Create-Basic.robot @@ -49,7 +49,7 @@ Create VCH - custom base disk Run Keyword And Ignore Error Cleanup Datastore On Test Server # Deploy vic-machine with debug enabled to attempt to cache #7047 - ${output}= Run bin/vic-machine-linux create --name=%{VCH-NAME} --debug=1 --target=%{TEST_URL} --thumbprint=%{TEST_THUMBPRINT} --user=%{TEST_USERNAME} --bridge-network=%{BRIDGE_NETWORK} --public-network=%{PUBLIC_NETWORK} --image-store=%{TEST_DATASTORE} --password=%{TEST_PASSWORD} --base-image-size=6GB ${vicmachinetls} --insecure-registry harbor.ci.drone.local + ${output}= Run bin/vic-machine-linux create --name=%{VCH-NAME} --debug=1 --target=%{TEST_URL} --thumbprint=%{TEST_THUMBPRINT} --user=%{TEST_USERNAME} --bridge-network=%{BRIDGE_NETWORK} --public-network=%{PUBLIC_NETWORK} --image-store=%{TEST_DATASTORE} --password=%{TEST_PASSWORD} --base-image-size=6GB ${vicmachinetls} --insecure-registry wdc-harbor-ci.eng.vmware.com Should Contain ${output} Installer completed successfully Get Docker Params ${output} ${true} Log To Console Installer completed successfully: %{VCH-NAME} @@ -79,7 +79,7 @@ Create VCH - target URL Run Keyword And Ignore Error Cleanup Dangling VMs On Test Server Run Keyword And Ignore Error Cleanup Datastore On Test Server - ${output}= Run bin/vic-machine-linux create --name=%{VCH-NAME} --target="%{TEST_USERNAME}:%{TEST_PASSWORD}@%{TEST_URL}" --thumbprint=%{TEST_THUMBPRINT} --image-store=%{TEST_DATASTORE} --bridge-network=%{BRIDGE_NETWORK} --public-network=%{PUBLIC_NETWORK} ${vicmachinetls} --insecure-registry harbor.ci.drone.local + ${output}= Run bin/vic-machine-linux create --name=%{VCH-NAME} --target="%{TEST_USERNAME}:%{TEST_PASSWORD}@%{TEST_URL}" --thumbprint=%{TEST_THUMBPRINT} --image-store=%{TEST_DATASTORE} --bridge-network=%{BRIDGE_NETWORK} --public-network=%{PUBLIC_NETWORK} ${vicmachinetls} --insecure-registry wdc-harbor-ci.eng.vmware.com Should Contain ${output} Installer completed successfully Get Docker Params ${output} ${true} Log To Console Installer completed successfully: %{VCH-NAME} @@ -92,7 +92,7 @@ Create VCH - operations user Run Keyword And Ignore Error Cleanup Dangling VMs On Test Server Run Keyword And Ignore Error Cleanup Datastore On Test Server - ${output}= Run bin/vic-machine-linux create --name=%{VCH-NAME} --target="%{TEST_USERNAME}:%{TEST_PASSWORD}@%{TEST_URL}" --thumbprint=%{TEST_THUMBPRINT} --image-store=%{TEST_DATASTORE} --bridge-network=%{BRIDGE_NETWORK} --public-network=%{PUBLIC_NETWORK} ${vicmachinetls} --ops-user=%{TEST_USERNAME} --ops-password=%{TEST_PASSWORD} --insecure-registry harbor.ci.drone.local + ${output}= Run bin/vic-machine-linux create --name=%{VCH-NAME} --target="%{TEST_USERNAME}:%{TEST_PASSWORD}@%{TEST_URL}" --thumbprint=%{TEST_THUMBPRINT} --image-store=%{TEST_DATASTORE} --bridge-network=%{BRIDGE_NETWORK} --public-network=%{PUBLIC_NETWORK} ${vicmachinetls} --ops-user=%{TEST_USERNAME} --ops-password=%{TEST_PASSWORD} --insecure-registry wdc-harbor-ci.eng.vmware.com Should Contain ${output} Installer completed successfully Get Docker Params ${output} ${true} Log To Console Installer completed successfully: %{VCH-NAME} @@ -107,7 +107,7 @@ Create VCH - specified datacenter Run Keyword And Ignore Error Cleanup Dangling VMs On Test Server Run Keyword And Ignore Error Cleanup Datastore On Test Server - ${output}= Run bin/vic-machine-linux create --name=%{VCH-NAME} --target="%{TEST_USERNAME}:%{TEST_PASSWORD}@%{TEST_URL}" --thumbprint=%{TEST_THUMBPRINT} --image-store=%{TEST_DATASTORE} --bridge-network=%{BRIDGE_NETWORK} --public-network=%{PUBLIC_NETWORK} ${vicmachinetls} --compute-resource=%{TEST_DATACENTER} + ${output}= Run bin/vic-machine-linux create --name=%{VCH-NAME} --target="%{TEST_USERNAME}:%{TEST_PASSWORD}@%{TEST_URL}" --thumbprint=%{TEST_THUMBPRINT} --image-store=%{TEST_DATASTORE} --bridge-network=%{BRIDGE_NETWORK} --public-network=%{PUBLIC_NETWORK} ${vicmachinetls} --compute-resource=%{TEST_DATACENTER} --insecure-registry wdc-harbor-ci.eng.vmware.com Should Contain ${output} Installer completed successfully Get Docker Params ${output} ${true} Log To Console Installer completed successfully: %{VCH-NAME} @@ -121,10 +121,10 @@ Create VCH - defaults Run Keyword And Ignore Error Cleanup Dangling VMs On Test Server Run Keyword And Ignore Error Cleanup Datastore On Test Server - ${output}= Run Keyword If '%{HOST_TYPE}' == 'VC' Run bin/vic-machine-linux create --name=%{VCH-NAME} --target=%{TEST_URL} --thumbprint=%{TEST_THUMBPRINT} --user=%{TEST_USERNAME} --image-store=%{TEST_DATASTORE} --password=%{TEST_PASSWORD} --bridge-network=%{BRIDGE_NETWORK} --public-network=%{PUBLIC_NETWORK} ${vicmachinetls} --insecure-registry harbor.ci.drone.local + ${output}= Run Keyword If '%{HOST_TYPE}' == 'VC' Run bin/vic-machine-linux create --name=%{VCH-NAME} --target=%{TEST_URL} --thumbprint=%{TEST_THUMBPRINT} --user=%{TEST_USERNAME} --image-store=%{TEST_DATASTORE} --password=%{TEST_PASSWORD} --bridge-network=%{BRIDGE_NETWORK} --public-network=%{PUBLIC_NETWORK} ${vicmachinetls} --insecure-registry wdc-harbor-ci.eng.vmware.com Run Keyword If '%{HOST_TYPE}' == 'VC' Should Contain ${output} Installer completed successfully Run Keyword If '%{HOST_TYPE}' == 'VC' Get Docker Params ${output} ${true} - ${output}= Run Keyword If '%{HOST_TYPE}' == 'ESXi' Run bin/vic-machine-linux create --name=%{VCH-NAME} --target=%{TEST_URL} --thumbprint=%{TEST_THUMBPRINT} --user=%{TEST_USERNAME} --image-store=%{TEST_DATASTORE} --password=%{TEST_PASSWORD} ${vicmachinetls} --insecure-registry harbor.ci.drone.local + ${output}= Run Keyword If '%{HOST_TYPE}' == 'ESXi' Run bin/vic-machine-linux create --name=%{VCH-NAME} --target=%{TEST_URL} --thumbprint=%{TEST_THUMBPRINT} --user=%{TEST_USERNAME} --image-store=%{TEST_DATASTORE} --password=%{TEST_PASSWORD} ${vicmachinetls} --insecure-registry wdc-harbor-ci.eng.vmware.com Run Keyword If '%{HOST_TYPE}' == 'ESXi' Should Contain ${output} Installer completed successfully Run Keyword If '%{HOST_TYPE}' == 'ESXi' Get Docker Params ${output} ${true} Log To Console Installer completed successfully: %{VCH-NAME} @@ -137,7 +137,7 @@ Create VCH - full params Run Keyword And Ignore Error Cleanup Dangling VMs On Test Server Run Keyword And Ignore Error Cleanup Datastore On Test Server - ${output}= Run bin/vic-machine-linux create --name=%{VCH-NAME} --target=%{TEST_URL} --thumbprint=%{TEST_THUMBPRINT} --user=%{TEST_USERNAME} --image-store=%{TEST_DATASTORE} --appliance-iso=bin/appliance.iso --bootstrap-iso=bin/bootstrap.iso --password=%{TEST_PASSWORD} --force=true --bridge-network=%{BRIDGE_NETWORK} --public-network=%{PUBLIC_NETWORK} --compute-resource=%{TEST_RESOURCE} --timeout %{TEST_TIMEOUT} --volume-store=%{TEST_DATASTORE}/%{VCH-NAME}-VOL:default ${vicmachinetls} --insecure-registry harbor.ci.drone.local + ${output}= Run bin/vic-machine-linux create --name=%{VCH-NAME} --target=%{TEST_URL} --thumbprint=%{TEST_THUMBPRINT} --user=%{TEST_USERNAME} --image-store=%{TEST_DATASTORE} --appliance-iso=bin/appliance.iso --bootstrap-iso=bin/bootstrap.iso --password=%{TEST_PASSWORD} --force=true --bridge-network=%{BRIDGE_NETWORK} --public-network=%{PUBLIC_NETWORK} --compute-resource=%{TEST_RESOURCE} --timeout %{TEST_TIMEOUT} --volume-store=%{TEST_DATASTORE}/%{VCH-NAME}-VOL:default ${vicmachinetls} --insecure-registry wdc-harbor-ci.eng.vmware.com Should Contain ${output} Installer completed successfully Get Docker Params ${output} ${true} Log To Console Installer completed successfully: %{VCH-NAME} @@ -154,7 +154,7 @@ Create VCH - using environment variables Run Keyword And Ignore Error Cleanup Dangling VMs On Test Server Run Keyword And Ignore Error Cleanup Datastore On Test Server - ${output}= Run bin/vic-machine-linux create --name=%{VCH-NAME} --image-store=%{TEST_DATASTORE} --appliance-iso=bin/appliance.iso --bootstrap-iso=bin/bootstrap.iso --force=true --bridge-network=%{BRIDGE_NETWORK} --public-network=%{PUBLIC_NETWORK} --compute-resource=%{TEST_RESOURCE} --timeout %{TEST_TIMEOUT} --volume-store=%{TEST_DATASTORE}/%{VCH-NAME}-VOL:default ${vicmachinetls} --insecure-registry harbor.ci.drone.local + ${output}= Run bin/vic-machine-linux create --name=%{VCH-NAME} --image-store=%{TEST_DATASTORE} --appliance-iso=bin/appliance.iso --bootstrap-iso=bin/bootstrap.iso --force=true --bridge-network=%{BRIDGE_NETWORK} --public-network=%{PUBLIC_NETWORK} --compute-resource=%{TEST_RESOURCE} --timeout %{TEST_TIMEOUT} --volume-store=%{TEST_DATASTORE}/%{VCH-NAME}-VOL:default ${vicmachinetls} --insecure-registry wdc-harbor-ci.eng.vmware.com Should Contain ${output} Installer completed successfully Get Docker Params ${output} ${true} Log To Console Installer completed successfully: %{VCH-NAME} @@ -171,7 +171,7 @@ Create VCH - custom image store directory Run Keyword And Ignore Error Cleanup Dangling VMs On Test Server Run Keyword And Ignore Error Cleanup Datastore On Test Server - ${output}= Run bin/vic-machine-linux create --name=%{VCH-NAME} --target=%{TEST_URL} --thumbprint=%{TEST_THUMBPRINT} --user=%{TEST_USERNAME} --image-store %{TEST_DATASTORE}/vic-machine-test-images --appliance-iso=bin/appliance.iso --bootstrap-iso=bin/bootstrap.iso --password=%{TEST_PASSWORD} --force=true --bridge-network=%{BRIDGE_NETWORK} --public-network=%{PUBLIC_NETWORK} --compute-resource=%{TEST_RESOURCE} --timeout %{TEST_TIMEOUT} ${vicmachinetls} --insecure-registry harbor.ci.drone.local + ${output}= Run bin/vic-machine-linux create --name=%{VCH-NAME} --target=%{TEST_URL} --thumbprint=%{TEST_THUMBPRINT} --user=%{TEST_USERNAME} --image-store %{TEST_DATASTORE}/vic-machine-test-images --appliance-iso=bin/appliance.iso --bootstrap-iso=bin/bootstrap.iso --password=%{TEST_PASSWORD} --force=true --bridge-network=%{BRIDGE_NETWORK} --public-network=%{PUBLIC_NETWORK} --compute-resource=%{TEST_RESOURCE} --timeout %{TEST_TIMEOUT} ${vicmachinetls} --insecure-registry wdc-harbor-ci.eng.vmware.com Should Contain ${output} Installer completed successfully Get Docker Params ${output} ${true} @@ -261,7 +261,7 @@ Creation log file uploaded to datastore Run Keyword And Ignore Error Cleanup Dangling VMs On Test Server Run Keyword And Ignore Error Cleanup Datastore On Test Server - ${output}= Run bin/vic-machine-linux create --name=%{VCH-NAME} --target=%{TEST_URL} --thumbprint=%{TEST_THUMBPRINT} --user=%{TEST_USERNAME} --image-store=%{TEST_DATASTORE} --appliance-iso=bin/appliance.iso --bootstrap-iso=bin/bootstrap.iso --password=%{TEST_PASSWORD} --force=true --bridge-network=%{BRIDGE_NETWORK} --public-network=%{PUBLIC_NETWORK} --compute-resource=%{TEST_RESOURCE} --timeout %{TEST_TIMEOUT} ${vicmachinetls} --insecure-registry harbor.ci.drone.local + ${output}= Run bin/vic-machine-linux create --name=%{VCH-NAME} --target=%{TEST_URL} --thumbprint=%{TEST_THUMBPRINT} --user=%{TEST_USERNAME} --image-store=%{TEST_DATASTORE} --appliance-iso=bin/appliance.iso --bootstrap-iso=bin/bootstrap.iso --password=%{TEST_PASSWORD} --force=true --bridge-network=%{BRIDGE_NETWORK} --public-network=%{PUBLIC_NETWORK} --compute-resource=%{TEST_RESOURCE} --timeout %{TEST_TIMEOUT} ${vicmachinetls} --insecure-registry wdc-harbor-ci.eng.vmware.com Should Contain ${output} Installer completed successfully Get Docker Params ${output} ${true} diff --git a/tests/test-cases/Group6-VIC-Machine/6-05-Create-Validation.robot b/tests/test-cases/Group6-VIC-Machine/6-05-Create-Validation.robot index 5d630798eb..080f3ad2f1 100644 --- a/tests/test-cases/Group6-VIC-Machine/6-05-Create-Validation.robot +++ b/tests/test-cases/Group6-VIC-Machine/6-05-Create-Validation.robot @@ -62,7 +62,7 @@ Default image datastore Run Keyword And Ignore Error Cleanup Datastore On Test Server Log To Console \nInstalling VCH to test server... - ${output}= Run bin/vic-machine-linux create --name=%{VCH-NAME} --target=%{TEST_URL} --thumbprint=%{TEST_THUMBPRINT} --user=%{TEST_USERNAME} --password=%{TEST_PASSWORD} ${vicmachinetls} --insecure-registry harbor.ci.drone.local + ${output}= Run bin/vic-machine-linux create --name=%{VCH-NAME} --target=%{TEST_URL} --thumbprint=%{TEST_THUMBPRINT} --user=%{TEST_USERNAME} --password=%{TEST_PASSWORD} ${vicmachinetls} --insecure-registry wdc-harbor-ci.eng.vmware.com Log ${output} # VCH creation should succeed on ESXi with one datastore @@ -86,8 +86,8 @@ Custom image datastore Run Keyword And Ignore Error Cleanup Datastore On Test Server Log To Console \nInstalling VCH to test server... - ${output-esx}= Run Keyword If '%{HOST_TYPE}' == 'ESXi' Run bin/vic-machine-linux create --name=%{VCH-NAME} --target=%{TEST_URL} --thumbprint=%{TEST_THUMBPRINT} --user=%{TEST_USERNAME} --password=%{TEST_PASSWORD} --image-store=%{TEST_DATASTORE}/long/weird/path ${vicmachinetls} --insecure-registry harbor.ci.drone.local - ${output-vc}= Run Keyword If '%{HOST_TYPE}' == 'VC' Run bin/vic-machine-linux create --name=%{VCH-NAME} --target=%{TEST_URL} --thumbprint=%{TEST_THUMBPRINT} --user=%{TEST_USERNAME} --password=%{TEST_PASSWORD} --bridge-network=%{BRIDGE_NETWORK} --public-network=%{PUBLIC_NETWORK} --image-store=%{TEST_DATASTORE}/long/weird/path ${vicmachinetls} --insecure-registry harbor.ci.drone.local + ${output-esx}= Run Keyword If '%{HOST_TYPE}' == 'ESXi' Run bin/vic-machine-linux create --name=%{VCH-NAME} --target=%{TEST_URL} --thumbprint=%{TEST_THUMBPRINT} --user=%{TEST_USERNAME} --password=%{TEST_PASSWORD} --image-store=%{TEST_DATASTORE}/long/weird/path ${vicmachinetls} --insecure-registry wdc-harbor-ci.eng.vmware.com + ${output-vc}= Run Keyword If '%{HOST_TYPE}' == 'VC' Run bin/vic-machine-linux create --name=%{VCH-NAME} --target=%{TEST_URL} --thumbprint=%{TEST_THUMBPRINT} --user=%{TEST_USERNAME} --password=%{TEST_PASSWORD} --bridge-network=%{BRIDGE_NETWORK} --public-network=%{PUBLIC_NETWORK} --image-store=%{TEST_DATASTORE}/long/weird/path ${vicmachinetls} --insecure-registry wdc-harbor-ci.eng.vmware.com ${output}= Set Variable If '%{HOST_TYPE}' == 'ESXi' ${output-esx} ${output-vc} Log ${output} Should Contain ${output} Installer completed successfully @@ -99,8 +99,8 @@ Custom image datastore Trailing slash works as expected Set Test Environment Variables Log To Console \nInstalling VCH to test server... - ${output-esx}= Run Keyword If '%{HOST_TYPE}' == 'ESXi' Run bin/vic-machine-linux create --name=%{VCH-NAME} --target=%{TEST_URL}/ --thumbprint=%{TEST_THUMBPRINT} --user=%{TEST_USERNAME} --password=%{TEST_PASSWORD} ${vicmachinetls} --insecure-registry harbor.ci.drone.local - ${output-vc}= Run Keyword If '%{HOST_TYPE}' == 'VC' Run bin/vic-machine-linux create --name=%{VCH-NAME} --target=%{TEST_URL}/ --thumbprint=%{TEST_THUMBPRINT} --user=%{TEST_USERNAME} --password=%{TEST_PASSWORD} --image-store=%{TEST_DATASTORE} --bridge-network=%{BRIDGE_NETWORK} --public-network=%{PUBLIC_NETWORK} ${vicmachinetls} --insecure-registry harbor.ci.drone.local + ${output-esx}= Run Keyword If '%{HOST_TYPE}' == 'ESXi' Run bin/vic-machine-linux create --name=%{VCH-NAME} --target=%{TEST_URL}/ --thumbprint=%{TEST_THUMBPRINT} --user=%{TEST_USERNAME} --password=%{TEST_PASSWORD} ${vicmachinetls} --insecure-registry wdc-harbor-ci.eng.vmware.com + ${output-vc}= Run Keyword If '%{HOST_TYPE}' == 'VC' Run bin/vic-machine-linux create --name=%{VCH-NAME} --target=%{TEST_URL}/ --thumbprint=%{TEST_THUMBPRINT} --user=%{TEST_USERNAME} --password=%{TEST_PASSWORD} --image-store=%{TEST_DATASTORE} --bridge-network=%{BRIDGE_NETWORK} --public-network=%{PUBLIC_NETWORK} ${vicmachinetls} --insecure-registry wdc-harbor-ci.eng.vmware.com ${output}= Set Variable If '%{HOST_TYPE}' == 'ESXi' ${output-esx} ${output-vc} Should Contain ${output} Installer completed successfully Get Docker Params ${output} ${true} diff --git a/tests/test-cases/Group6-VIC-Machine/6-07-Create-Network.robot b/tests/test-cases/Group6-VIC-Machine/6-07-Create-Network.robot index 962a3b290d..992e204dbe 100644 --- a/tests/test-cases/Group6-VIC-Machine/6-07-Create-Network.robot +++ b/tests/test-cases/Group6-VIC-Machine/6-07-Create-Network.robot @@ -47,7 +47,7 @@ Public network - default Run Keyword And Ignore Error Cleanup Dangling VMs On Test Server Run Keyword And Ignore Error Cleanup Datastore On Test Server - ${output}= Run bin/vic-machine-linux create --name=%{VCH-NAME} --target="%{TEST_USERNAME}:%{TEST_PASSWORD}@%{TEST_URL}" --thumbprint=%{TEST_THUMBPRINT} --image-store=%{TEST_DATASTORE} --bridge-network=%{BRIDGE_NETWORK} ${vicmachinetls} --insecure-registry harbor.ci.drone.local + ${output}= Run bin/vic-machine-linux create --name=%{VCH-NAME} --target="%{TEST_USERNAME}:%{TEST_PASSWORD}@%{TEST_URL}" --thumbprint=%{TEST_THUMBPRINT} --image-store=%{TEST_DATASTORE} --bridge-network=%{BRIDGE_NETWORK} ${vicmachinetls} --insecure-registry wdc-harbor-ci.eng.vmware.com Should Contain ${output} Installer completed successfully Get Docker Params ${output} ${true} Log To Console Installer completed successfully: %{VCH-NAME} @@ -90,7 +90,7 @@ Management network - none Run Keyword And Ignore Error Cleanup Dangling VMs On Test Server Run Keyword And Ignore Error Cleanup Datastore On Test Server - ${output}= Run bin/vic-machine-linux create --name=%{VCH-NAME} --target="%{TEST_USERNAME}:%{TEST_PASSWORD}@%{TEST_URL}" --thumbprint=%{TEST_THUMBPRINT} --image-store=%{TEST_DATASTORE} --bridge-network=%{BRIDGE_NETWORK} --public-network=%{PUBLIC_NETWORK} ${vicmachinetls} --insecure-registry harbor.ci.drone.local + ${output}= Run bin/vic-machine-linux create --name=%{VCH-NAME} --target="%{TEST_USERNAME}:%{TEST_PASSWORD}@%{TEST_URL}" --thumbprint=%{TEST_THUMBPRINT} --image-store=%{TEST_DATASTORE} --bridge-network=%{BRIDGE_NETWORK} --public-network=%{PUBLIC_NETWORK} ${vicmachinetls} --insecure-registry wdc-harbor-ci.eng.vmware.com Should Contain ${output} Installer completed successfully ${status}= Run Keyword And Return Status Should Contain ${output} Network role \\"management\\" is sharing NIC with \\"public\\" ${status2}= Run Keyword And Return Status Should Contain ${output} Network role \\"public\\" is sharing NIC with \\"management\\" @@ -131,7 +131,7 @@ Management network - valid Run Keyword And Ignore Error Cleanup Dangling VMs On Test Server Run Keyword And Ignore Error Cleanup Datastore On Test Server - ${output}= Run bin/vic-machine-linux create --name=%{VCH-NAME} --target="%{TEST_USERNAME}:%{TEST_PASSWORD}@%{TEST_URL}" --thumbprint=%{TEST_THUMBPRINT} --image-store=%{TEST_DATASTORE} --bridge-network=%{BRIDGE_NETWORK} --management-network=%{PUBLIC_NETWORK} ${vicmachinetls} --insecure-registry harbor.ci.drone.local + ${output}= Run bin/vic-machine-linux create --name=%{VCH-NAME} --target="%{TEST_USERNAME}:%{TEST_PASSWORD}@%{TEST_URL}" --thumbprint=%{TEST_THUMBPRINT} --image-store=%{TEST_DATASTORE} --bridge-network=%{BRIDGE_NETWORK} --management-network=%{PUBLIC_NETWORK} ${vicmachinetls} --insecure-registry wdc-harbor-ci.eng.vmware.com Should Contain ${output} Installer completed successfully Get Docker Params ${output} ${true} Log To Console Installer completed successfully: %{VCH-NAME} @@ -158,7 +158,7 @@ Connectivity Bridge to Public ${out}= Run Keyword If '%{HOST_TYPE}' == 'ESXi' Run govc host.portgroup.add -vswitch vSwitchLAN bridge ${out}= Run Keyword If '%{HOST_TYPE}' == 'VC' Add VC Distributed Portgroup test-ds bridge - ${output}= Run bin/vic-machine-linux create --debug 1 --name=%{VCH-NAME} --target=%{TEST_URL}%{TEST_DATACENTER} --thumbprint=%{TEST_THUMBPRINT} --user=%{TEST_USERNAME} --image-store=%{TEST_DATASTORE} --password=%{TEST_PASSWORD} --force=true --bridge-network=bridge --public-network=vm-network --compute-resource=%{TEST_RESOURCE} --container-network vm-network --container-network-firewall vm-network:published --no-tlsverify --insecure-registry harbor.ci.drone.local + ${output}= Run bin/vic-machine-linux create --debug 1 --name=%{VCH-NAME} --target=%{TEST_URL}%{TEST_DATACENTER} --thumbprint=%{TEST_THUMBPRINT} --user=%{TEST_USERNAME} --image-store=%{TEST_DATASTORE} --password=%{TEST_PASSWORD} --force=true --bridge-network=bridge --public-network=vm-network --compute-resource=%{TEST_RESOURCE} --container-network vm-network --container-network-firewall vm-network:published --no-tlsverify --insecure-registry wdc-harbor-ci.eng.vmware.com Should Contain ${output} Installer completed successfully Get Docker Params ${output} ${true} @@ -213,7 +213,7 @@ Connectivity Bridge to Management ${out}= Run Keyword If '%{HOST_TYPE}' == 'ESXi' Run govc host.portgroup.add -vswitch vSwitchLAN management ${out}= Run Keyword If '%{HOST_TYPE}' == 'VC' Add VC Distributed Portgroup test-ds management - ${output}= Run bin/vic-machine-linux create --debug 1 --name=%{VCH-NAME} --target=%{TEST_URL}%{TEST_DATACENTER} --thumbprint=%{TEST_THUMBPRINT} --user=%{TEST_USERNAME} --image-store=%{TEST_DATASTORE} --password=%{TEST_PASSWORD} --force=true --bridge-network=bridge --compute-resource=%{TEST_RESOURCE} --container-network management --container-network vm-network --container-network-ip-range=management:10.10.10.0/24 --container-network-gateway=management:10.10.10.1/24 --no-tlsverify --insecure-registry harbor.ci.drone.local + ${output}= Run bin/vic-machine-linux create --debug 1 --name=%{VCH-NAME} --target=%{TEST_URL}%{TEST_DATACENTER} --thumbprint=%{TEST_THUMBPRINT} --user=%{TEST_USERNAME} --image-store=%{TEST_DATASTORE} --password=%{TEST_PASSWORD} --force=true --bridge-network=bridge --compute-resource=%{TEST_RESOURCE} --container-network management --container-network vm-network --container-network-ip-range=management:10.10.10.0/24 --container-network-gateway=management:10.10.10.1/24 --no-tlsverify --insecure-registry wdc-harbor-ci.eng.vmware.com Should Contain ${output} Installer completed successfully Get Docker Params ${output} ${true} @@ -260,7 +260,7 @@ Bridge network - vCenter none Run Keyword And Ignore Error Cleanup Datastore On Test Server ${output}= Run bin/vic-machine-linux create --name=%{VCH-NAME} --target="%{TEST_USERNAME}:%{TEST_PASSWORD}@%{TEST_URL}" --thumbprint=%{TEST_THUMBPRINT} --image-store=%{TEST_DATASTORE} ${vicmachinetls} - Should Contain ${output} ERROR + Should Contain ${output} error Should Contain ${output} An existing distributed port group must be specified for bridge network on vCenter # Delete the portgroup added by env vars keyword @@ -274,7 +274,7 @@ Bridge network - ESX none Run Keyword And Ignore Error Cleanup Dangling VMs On Test Server Run Keyword And Ignore Error Cleanup Datastore On Test Server - ${output}= Run bin/vic-machine-linux create --name=%{VCH-NAME} --target="%{TEST_USERNAME}:%{TEST_PASSWORD}@%{TEST_URL}" --thumbprint=%{TEST_THUMBPRINT} --image-store=%{TEST_DATASTORE} ${vicmachinetls} --insecure-registry harbor.ci.drone.local + ${output}= Run bin/vic-machine-linux create --name=%{VCH-NAME} --target="%{TEST_USERNAME}:%{TEST_PASSWORD}@%{TEST_URL}" --thumbprint=%{TEST_THUMBPRINT} --image-store=%{TEST_DATASTORE} ${vicmachinetls} --insecure-registry wdc-harbor-ci.eng.vmware.com Should Contain ${output} Installer completed successfully Get Docker Params ${output} ${true} Log To Console Installer completed successfully: %{VCH-NAME} @@ -295,7 +295,7 @@ Bridge network - create bridge network if it doesn't exist Run govc host.portgroup.remove 'AAAAAAAAAA' Run govc host.vswitch.remove 'AAAAAAAAAA' - ${output}= Run bin/vic-machine-linux create --name=%{VCH-NAME} --target="%{TEST_USERNAME}:%{TEST_PASSWORD}@%{TEST_URL}" --thumbprint=%{TEST_THUMBPRINT} --image-store=%{TEST_DATASTORE} --bridge-network=AAAAAAAAAA ${vicmachinetls} --insecure-registry harbor.ci.drone.local + ${output}= Run bin/vic-machine-linux create --name=%{VCH-NAME} --target="%{TEST_USERNAME}:%{TEST_PASSWORD}@%{TEST_URL}" --thumbprint=%{TEST_THUMBPRINT} --image-store=%{TEST_DATASTORE} --bridge-network=AAAAAAAAAA ${vicmachinetls} --insecure-registry wdc-harbor-ci.eng.vmware.com Should Contain ${output} Installer completed successfully Get Docker Params ${output} ${true} Log To Console Installer completed successfully: %{VCH-NAME} @@ -322,7 +322,7 @@ Bridge network - valid Run Keyword And Ignore Error Cleanup Dangling VMs On Test Server Run Keyword And Ignore Error Cleanup Datastore On Test Server - ${output}= Run bin/vic-machine-linux create --name=%{VCH-NAME} --target="%{TEST_USERNAME}:%{TEST_PASSWORD}@%{TEST_URL}" --thumbprint=%{TEST_THUMBPRINT} --image-store=%{TEST_DATASTORE} --bridge-network=%{BRIDGE_NETWORK} ${vicmachinetls} --insecure-registry harbor.ci.drone.local + ${output}= Run bin/vic-machine-linux create --name=%{VCH-NAME} --target="%{TEST_USERNAME}:%{TEST_PASSWORD}@%{TEST_URL}" --thumbprint=%{TEST_THUMBPRINT} --image-store=%{TEST_DATASTORE} --bridge-network=%{BRIDGE_NETWORK} ${vicmachinetls} --insecure-registry wdc-harbor-ci.eng.vmware.com Should Contain ${output} Installer completed successfully Get Docker Params ${output} ${true} Log To Console Installer completed successfully: %{VCH-NAME} @@ -410,7 +410,7 @@ Container network - space in network name valid ${out}= Run Keyword If '%{HOST_TYPE}' == 'ESXi' Run govc host.portgroup.add -vswitch vSwitchLAN bridge ${out}= Run Keyword If '%{HOST_TYPE}' == 'VC' Add VC Distributed Portgroup test-ds bridge - ${output}= Run bin/vic-machine-linux create --name=%{VCH-NAME} --target="%{TEST_USERNAME}:%{TEST_PASSWORD}@%{TEST_URL}" --thumbprint=%{TEST_THUMBPRINT} --image-store=%{TEST_DATASTORE} --bridge-network=bridge --container-network 'VM Network With Spaces':vmnet --insecure-registry harbor.ci.drone.local ${vicmachinetls} + ${output}= Run bin/vic-machine-linux create --name=%{VCH-NAME} --target="%{TEST_USERNAME}:%{TEST_PASSWORD}@%{TEST_URL}" --thumbprint=%{TEST_THUMBPRINT} --image-store=%{TEST_DATASTORE} --bridge-network=bridge --container-network 'VM Network With Spaces':vmnet --insecure-registry wdc-harbor-ci.eng.vmware.com ${vicmachinetls} Should Contain ${output} Installer completed successfully Get Docker Params ${output} ${true} Log To Console Installer completed successfully: %{VCH-NAME} @@ -462,7 +462,7 @@ Container Firewalls ... --target=%{TEST_URL}%{TEST_DATACENTER} --thumbprint=%{TEST_THUMBPRINT} ... --user=%{TEST_USERNAME} --image-store=%{TEST_DATASTORE} --password=%{TEST_PASSWORD} ... --force=true --bridge-network=bridge --compute-resource=%{TEST_RESOURCE} --no-tlsverify - ... --insecure-registry harbor.ci.drone.local + ... --insecure-registry wdc-harbor-ci.eng.vmware.com ... --container-network open-net --container-network-firewall open-net:open ... --container-network closed-net --container-network-firewall closed-net:closed ... --container-network outbound-net --container-network-firewall outbound-net:outbound diff --git a/tests/test-cases/Group6-VIC-Machine/6-09-Inspect.robot b/tests/test-cases/Group6-VIC-Machine/6-09-Inspect.robot index a1d857447b..5fccbabde2 100644 --- a/tests/test-cases/Group6-VIC-Machine/6-09-Inspect.robot +++ b/tests/test-cases/Group6-VIC-Machine/6-09-Inspect.robot @@ -154,6 +154,9 @@ Inspect VCH Configuration with Container Networks Should Be Equal As Integers 0 ${rc} Verify inspect output for a full tls VCH + ${domain}= Get Environment Variable DOMAIN '' + Run Keyword If '${domain}' == '' Pass Execution Skipping test - domain not set, won't generate keys + Install VIC Appliance To Test Server ${output}= Run bin/vic-machine-linux inspect --name=%{VCH-NAME} --target="%{TEST_USERNAME}:%{TEST_PASSWORD}@%{TEST_URL}" --thumbprint=%{TEST_THUMBPRINT} diff --git a/tests/test-cases/Group6-VIC-Machine/6-13-TLS.robot b/tests/test-cases/Group6-VIC-Machine/6-13-TLS.robot index 2d654f7c73..f2645edfdc 100644 --- a/tests/test-cases/Group6-VIC-Machine/6-13-TLS.robot +++ b/tests/test-cases/Group6-VIC-Machine/6-13-TLS.robot @@ -24,7 +24,7 @@ Create VCH - defaults with --no-tls Run Keyword And Ignore Error Cleanup Dangling VMs On Test Server Run Keyword And Ignore Error Cleanup Datastore On Test Server - ${output}= Run bin/vic-machine-linux create --name=%{VCH-NAME} --target="%{TEST_USERNAME}:%{TEST_PASSWORD}@%{TEST_URL}" --thumbprint=%{TEST_THUMBPRINT} --image-store=%{TEST_DATASTORE} --bridge-network=%{BRIDGE_NETWORK} --public-network=%{PUBLIC_NETWORK} --no-tls --insecure-registry harbor.ci.drone.local + ${output}= Run bin/vic-machine-linux create --name=%{VCH-NAME} --target="%{TEST_USERNAME}:%{TEST_PASSWORD}@%{TEST_URL}" --thumbprint=%{TEST_THUMBPRINT} --image-store=%{TEST_DATASTORE} --bridge-network=%{BRIDGE_NETWORK} --public-network=%{PUBLIC_NETWORK} --no-tls --insecure-registry wdc-harbor-ci.eng.vmware.com Should Contain ${output} Installer completed successfully Get Docker Params ${output} ${true} Log To Console Installer completed successfully: %{VCH-NAME} @@ -34,11 +34,14 @@ Create VCH - defaults with --no-tls Cleanup VIC Appliance On Test Server Create VCH - defaults custom cert path + ${domain}= Get Environment Variable DOMAIN '' + Run Keyword If '${domain}' == '' Pass Execution Skipping test - domain not set, won't generate keys + Set Test Environment Variables Run Keyword And Ignore Error Cleanup Dangling VMs On Test Server Run Keyword And Ignore Error Cleanup Datastore On Test Server - ${output}= Run bin/vic-machine-linux create ${vicmachinetls} --name=%{VCH-NAME} --target="%{TEST_USERNAME}:%{TEST_PASSWORD}@%{TEST_URL}" --thumbprint=%{TEST_THUMBPRINT} --image-store=%{TEST_DATASTORE} --bridge-network=%{BRIDGE_NETWORK} --public-network=%{PUBLIC_NETWORK} --tls-cert-path=${EXECDIR}/foo-bar-certs/ --insecure-registry harbor.ci.drone.local + ${output}= Run bin/vic-machine-linux create ${vicmachinetls} --name=%{VCH-NAME} --target="%{TEST_USERNAME}:%{TEST_PASSWORD}@%{TEST_URL}" --thumbprint=%{TEST_THUMBPRINT} --image-store=%{TEST_DATASTORE} --bridge-network=%{BRIDGE_NETWORK} --public-network=%{PUBLIC_NETWORK} --tls-cert-path=${EXECDIR}/foo-bar-certs/ --insecure-registry wdc-harbor-ci.eng.vmware.com Should Contain ${output} --tlscacert=\\"${EXECDIR}/foo-bar-certs/ca.pem\\" --tlscert=\\"${EXECDIR}/foo-bar-certs/cert.pem\\" --tlskey=\\"${EXECDIR}/foo-bar-certs/key.pem\\" Should Contain ${output} Generating CA certificate/key pair - private key in ${EXECDIR}/foo-bar-certs/ca-key.pem Should Contain ${output} Generating server certificate/key pair - private key in ${EXECDIR}/foo-bar-certs/server-key.pem @@ -61,7 +64,7 @@ Create VCH - force accept target thumbprint Run Keyword And Ignore Error Cleanup Datastore On Test Server # Test that --force without --thumbprint accepts the --target thumbprint - ${output}= Run bin/vic-machine-linux create --name=%{VCH-NAME} --target="%{TEST_USERNAME}:%{TEST_PASSWORD}@%{TEST_URL}" --force --image-store=%{TEST_DATASTORE} --bridge-network=%{BRIDGE_NETWORK} --public-network=%{PUBLIC_NETWORK} ${vicmachinetls} --insecure-registry harbor.ci.drone.local + ${output}= Run bin/vic-machine-linux create --name=%{VCH-NAME} --target="%{TEST_USERNAME}:%{TEST_PASSWORD}@%{TEST_URL}" --force --image-store=%{TEST_DATASTORE} --bridge-network=%{BRIDGE_NETWORK} --public-network=%{PUBLIC_NETWORK} ${vicmachinetls} --insecure-registry wdc-harbor-ci.eng.vmware.com Log ${output} Should Contain ${output} Installer completed successfully Get Docker Params ${output} ${true} diff --git a/tests/test-cases/Group6-VIC-Machine/6-14-Update-Firewall.robot b/tests/test-cases/Group6-VIC-Machine/6-14-Update-Firewall.robot index 415e8bcdd5..5ea682e400 100644 --- a/tests/test-cases/Group6-VIC-Machine/6-14-Update-Firewall.robot +++ b/tests/test-cases/Group6-VIC-Machine/6-14-Update-Firewall.robot @@ -41,7 +41,7 @@ Enable and disable VIC firewall rule ${output}= Run govc host.esxcli network firewall ruleset list --ruleset-id=vSPC Should Contain ${output} true - ${output}= Run bin/vic-machine-linux create --name=%{VCH-NAME} --target="%{TEST_USERNAME}:%{TEST_PASSWORD}@%{TEST_URL}" --thumbprint=%{TEST_THUMBPRINT} --image-store=%{TEST_DATASTORE} --bridge-network=%{BRIDGE_NETWORK} --public-network=%{PUBLIC_NETWORK} --no-tls --insecure-registry harbor.ci.drone.local + ${output}= Run bin/vic-machine-linux create --name=%{VCH-NAME} --target="%{TEST_USERNAME}:%{TEST_PASSWORD}@%{TEST_URL}" --thumbprint=%{TEST_THUMBPRINT} --image-store=%{TEST_DATASTORE} --bridge-network=%{BRIDGE_NETWORK} --public-network=%{PUBLIC_NETWORK} --no-tls --insecure-registry wdc-harbor-ci.eng.vmware.com Should Contain ${output} Installer completed successfully Get Docker Params ${output} ${true} Log To Console Installer completed successfully: %{VCH-NAME} diff --git a/tests/test-cases/Group6-VIC-Machine/6-17-Configure-TLS.robot b/tests/test-cases/Group6-VIC-Machine/6-17-Configure-TLS.robot index 8f19e7e363..2d4168a9e6 100644 --- a/tests/test-cases/Group6-VIC-Machine/6-17-Configure-TLS.robot +++ b/tests/test-cases/Group6-VIC-Machine/6-17-Configure-TLS.robot @@ -27,6 +27,9 @@ Setup Test Environment Run Keyword And Ignore Error Cleanup Dangling VMs On Test Server Run Keyword And Ignore Error Cleanup Datastore On Test Server + ${domain}= Get Environment Variable DOMAIN '' + Run Keyword If '${domain}' == '' Pass Execution Skipping test - domain not set, won't generate keys + ${output}= Run bin/vic-machine-linux create ${vicmachinetls} --name=%{VCH-NAME} --target="%{TEST_USERNAME}:%{TEST_PASSWORD}@%{TEST_URL}" --thumbprint=%{TEST_THUMBPRINT} --image-store=%{TEST_DATASTORE} --bridge-network=%{BRIDGE_NETWORK} --public-network=%{PUBLIC_NETWORK} --tls-cert-path=${EXECDIR}/foo-bar-certs/ Should Contain ${output} --tlscacert=\\"${EXECDIR}/foo-bar-certs/ca.pem\\" --tlscert=\\"${EXECDIR}/foo-bar-certs/cert.pem\\" --tlskey=\\"${EXECDIR}/foo-bar-certs/key.pem\\" Should Contain ${output} Generating CA certificate/key pair - private key in ${EXECDIR}/foo-bar-certs/ca-key.pem diff --git a/tests/test-cases/Group9-VIC-Admin/9-02-VICAdmin-CertAuth.robot b/tests/test-cases/Group9-VIC-Admin/9-02-VICAdmin-CertAuth.robot index bbdbf95683..cec65afc23 100644 --- a/tests/test-cases/Group9-VIC-Admin/9-02-VICAdmin-CertAuth.robot +++ b/tests/test-cases/Group9-VIC-Admin/9-02-VICAdmin-CertAuth.robot @@ -20,6 +20,10 @@ Suite Teardown Cleanup VIC Appliance On Test Server Default Tags *** Keywords *** +Skip Execution If Certs Not Available + ${status}= Run Keyword And Return Status Environment Variable Should Not Be Set DOCKER_CERT_PATH + Pass Execution If ${status} This test is only applicable if using TLS with certs + Curl [Arguments] ${path} ${output}= Run curl -sk --cert %{DOCKER_CERT_PATH}/cert.pem --key %{DOCKER_CERT_PATH}/key.pem %{VIC-ADMIN}${path} @@ -28,47 +32,57 @@ Curl *** Test Cases *** Display HTML - ${output}= Wait Until Keyword Succeeds 10x 10s Curl ${EMPTY} - Should contain ${output} VIC: %{VCH-NAME} + Skip Execution If Certs Not Available + ${output}= Wait Until Keyword Succeeds 10x 10s Curl ${EMPTY} + Should contain ${output} VIC: %{VCH-NAME} Get Portlayer Log + Skip Execution If Certs Not Available ${output}= Wait Until Keyword Succeeds 10x 10s Curl /logs/port-layer.log Should contain ${output} Launching portlayer server Get VCH-Init Log + Skip Execution If Certs Not Available ${output}= Wait Until Keyword Succeeds 10x 10s Curl /logs/init.log Should contain ${output} reaping child processes Get Docker Personality Log + Skip Execution If Certs Not Available ${output}= Wait Until Keyword Succeeds 10x 10s Curl /logs/docker-personality.log Should contain ${output} docker personality Get VICAdmin Log + Skip Execution If Certs Not Available ${output}= Wait Until Keyword Succeeds 10x 10s Curl /logs/vicadmin.log Log ${output} Should contain ${output} Launching vicadmin pprof server Fail to Get VICAdmin Log without cert + Skip Execution If Certs Not Available ${output}= Run curl -sk %{VIC-ADMIN}/logs/vicadmin.log Log ${output} Should Not contain ${output} Launching vicadmin pprof server Fail to Display HTML without cert + Skip Execution If Certs Not Available ${output}= Run curl -sk %{VIC-ADMIN} Log ${output} Should Not contain ${output} VCH %{VCH-NAME} Fail to get Portlayer Log without cert + Skip Execution If Certs Not Available ${output}= Run curl -sk %{VIC-ADMIN}/logs/port-layer.log Log ${output} Should Not contain ${output} Launching portlayer server Fail to get Docker Personality Log without cert + Skip Execution If Certs Not Available ${output}= Run curl -sk %{VIC-ADMIN}/logs/docker-personality.log Log ${output} Should Not contain ${output} docker personality Fail to get VCH init logs without cert + Skip Execution If Certs Not Available ${output}= Run curl -sk %{VIC-ADMIN}/logs/init.log Log ${output} Should Not contain ${output} reaping child processes diff --git a/tests/test-cases/Group9-VIC-Admin/9-03-VICAdmin-Log-Failed-Attempts.robot b/tests/test-cases/Group9-VIC-Admin/9-03-VICAdmin-Log-Failed-Attempts.robot index fe00420073..3bd4e79762 100644 --- a/tests/test-cases/Group9-VIC-Admin/9-03-VICAdmin-Log-Failed-Attempts.robot +++ b/tests/test-cases/Group9-VIC-Admin/9-03-VICAdmin-Log-Failed-Attempts.robot @@ -30,6 +30,9 @@ Verify Temporary Redirect Should Contain ${out} HTTP request sent, awaiting response... 303 See Other Verify Failed Log Attempts + ${status}= Run Keyword And Return Status Environment Variable Should Not Be Set DOCKER_CERT_PATH + Pass Execution If ${status} This test is only applicable if using TLS with certs + #Save the first appliance certs and cleanup the first appliance #${old-certs}= Set Variable %{DOCKER_CERT_PATH} Run cp -r %{DOCKER_CERT_PATH} old-certs