diff options
Diffstat (limited to 'jjb/xci')
-rw-r--r-- | jjb/xci/bifrost-cleanup-job.yml | 13 | ||||
-rw-r--r-- | jjb/xci/bifrost-verify-jobs.yml | 48 | ||||
-rwxr-xr-x | jjb/xci/bifrost-verify.sh | 4 | ||||
-rw-r--r-- | jjb/xci/xci-daily-jobs.yml | 104 | ||||
-rwxr-xr-x | jjb/xci/xci-deploy.sh | 39 | ||||
-rwxr-xr-x | jjb/xci/xci-provision.sh | 44 |
6 files changed, 195 insertions, 57 deletions
diff --git a/jjb/xci/bifrost-cleanup-job.yml b/jjb/xci/bifrost-cleanup-job.yml index 4e9e2a8d4..d4b2157da 100644 --- a/jjb/xci/bifrost-cleanup-job.yml +++ b/jjb/xci/bifrost-cleanup-job.yml @@ -65,9 +65,16 @@ echo "gsutil will not be executed until this is fixed!" exit 1 fi - # No force (-f). We always verify upstream jobs so if there are no logs - # something else went wrong and we need to break immediately and investigate - gsutil -m rm -r $BIFROST_GS_URL + try_to_rm=1 + while [[ $try_to_rm -lt 6 ]]; do + gsutil -m rm -r $BIFROST_GS_URL && _exitcode=$? && break + _exitcode=$? + echo "gsutil rm failed! Trying again... (attempt #$i)" + let try_to_rm += 1 + # Give it some time... + sleep 10 + done + exit $_exitcode triggers: - '{project}-gerrit-trigger-cleanup': diff --git a/jjb/xci/bifrost-verify-jobs.yml b/jjb/xci/bifrost-verify-jobs.yml index 6aea1c4aa..b93456ee2 100644 --- a/jjb/xci/bifrost-verify-jobs.yml +++ b/jjb/xci/bifrost-verify-jobs.yml @@ -53,11 +53,14 @@ # VM defaults #-------------------------------- - defaults: - name: vm_defaults + name: verify_vm_defaults + test-vm-num-nodes: '3' + test-vm-node-names: 'xcimaster controller00 compute00' + vm-domain-type: 'kvm' + vm-cpu: '2' vm-disk: '30' + vm-memory-size: '4096' vm-disk-cache: 'unsafe' - vm-memory: '4096' - vm-cpu: '2' #-------------------------------- # job templates @@ -67,7 +70,7 @@ disabled: '{obj:disabled}' - defaults: vm_defaults + defaults: verify_vm_defaults concurrent: false @@ -105,18 +108,27 @@ name: DIB_OS_PACKAGES default: '{dib-os-packages}' - string: - name: VM_DISK - default: '{vm-disk}' + name: TEST_VM_NUM_NODES + default: '{test-vm-num-nodes}' - string: - name: VM_DISK_CACHE - default: '{vm-disk-cache}' + name: TEST_VM_NODE_NAMES + default: '{test-vm-node-names}' - string: - name: VM_MEMORY - default: '{vm-memory}' + name: VM_DOMAIN_TYPE + default: '{vm-domain-type}' - string: name: VM_CPU default: '{vm-cpu}' - string: + name: VM_DISK + default: '{vm-disk}' + - string: + name: VM_MEMORY_SIZE + default: '{vm-memory-size}' + - string: + name: VM_DISK_CACHE + default: '{vm-disk-cache}' + - string: name: CLEAN_DIB_IMAGES default: 'true' - label: @@ -125,6 +137,9 @@ - string: name: BIFROST_LOG_URL default: 'http://artifacts.opnfv.org/cross-community-ci/openstack/bifrost/$GERRIT_NAME/$GERRIT_CHANGE_NUMBER/$GERRIT_PATCHSET_NUMBER/$JOB_NAME' + - string: + name: ANSIBLE_VERBOSITY + default: '-vvvv' scm: - git: @@ -146,7 +161,7 @@ - bifrost-build wrappers: - - bifrost-fix-perms-workspace + - fix-workspace-permissions publishers: - email: @@ -211,17 +226,6 @@ readable-message: true #--------------------------- -# wrapper macros -#--------------------------- -- wrapper: - name: bifrost-fix-perms-workspace - wrappers: - - pre-scm-buildstep: - - shell: | - #!/bin/bash - sudo chown -R $USER $WORKSPACE || exit 1 - -#--------------------------- # builder macros #--------------------------- - builder: diff --git a/jjb/xci/bifrost-verify.sh b/jjb/xci/bifrost-verify.sh index 762466825..f596d7527 100755 --- a/jjb/xci/bifrost-verify.sh +++ b/jjb/xci/bifrost-verify.sh @@ -95,7 +95,7 @@ if [[ ! "$DISTRO" =~ (trusty|centos7|suse) ]]; then fi # remove previously cloned repos -sudo /bin/rm -rf /opt/bifrost /opt/stack /opt/releng +sudo /bin/rm -rf /opt/bifrost /opt/releng # Fix up permissions fix_ownership @@ -117,7 +117,7 @@ sudo -E ./scripts/destroy-env.sh # provision 3 VMs; xcimaster, controller, and compute cd /opt/bifrost -sudo -E ./scripts/test-bifrost-deployment.sh +sudo -E ./scripts/bifrost-provision.sh # list the provisioned VMs cd /opt/bifrost diff --git a/jjb/xci/xci-daily-jobs.yml b/jjb/xci/xci-daily-jobs.yml index ce2e4f382..dbe3b654b 100644 --- a/jjb/xci/xci-daily-jobs.yml +++ b/jjb/xci/xci-daily-jobs.yml @@ -3,15 +3,22 @@ #-------------------------------- # BRANCH ANCHORS #-------------------------------- +# the versions stated here default to branches which then later +# on used for checking out the branches, pulling in head of the branch. +# but they also allow us to state sha1 so instead of checking out the +# branches, we can check out sha1 if we want to use locked/specific +# sha1 or manually enter sha1. master: &master stream: master - openstack-branch: '{stream}' - opnfv-branch: 'master' + openstack-osa-version: '{stream}' + openstack-bifrost-version: '{stream}' + opnfv-releng-version: 'master' gs-pathname: '' ocata: &ocata stream: ocata - openstack-branch: 'stable/{stream}' - opnfv-branch: 'master' + openstack-osa-version: 'stable/{stream}' + openstack-bifrost-version: 'stable/{stream}' + opnfv-releng-version: 'master' gs-pathname: '/{stream}' #-------------------------------- # scenarios @@ -53,6 +60,7 @@ dib-os-element: 'opensuse-minimal' dib-os-packages: 'vim,less,bridge-utils,iputils,rsyslog,curl' extra-dib-elements: 'openssh-server' + #-------------------------------- # Phases #-------------------------------- @@ -68,6 +76,19 @@ - 'xci-{phase}-{pod}-{distro}-daily-{stream}' #-------------------------------- +# VM defaults +#-------------------------------- +- defaults: + name: daily_vm_defaults + test-vm-num-nodes: '6' + test-vm-node-names: 'xcimaster controller00 controller01 controller02 compute00 compute01' + vm-domain-type: 'kvm' + vm-cpu: '8' + vm-disk: '100' + vm-memory-size: '16384' + vm-disk-cache: 'unsafe' + +#-------------------------------- # job templates #-------------------------------- - job-template: @@ -87,6 +108,18 @@ parameters: - string: + name: OPENSTACK_OSA_VERSION + default: '{openstack-osa-version}' + - string: + name: OPENSTACK_BIFROST_VERSION + default: '{openstack-osa-version}' + - string: + name: OPNFV_RELENG_VERSION + default: '{opnfv-releng-version}' + - string: + name: USE_PROMOTED_VERSIONS + default: 'true' + - string: name: DEPLOY_SCENARIO default: '{scenario}' - label: @@ -105,22 +138,34 @@ - trigger-builds: - project: 'xci-provision-{pod}-{distro}-daily-{stream}' current-parameters: false - predefined-parameters: - DEPLOY_SCENARIO={scenario} + predefined-parameters: | + OPENSTACK_OSA_VERSION=$OPENSTACK_OSA_VERSION + OPENSTACK_BIFROST_VERSION=$OPENSTACK_BIFROST_VERSION + OPNFV_RELENG_VERSION=$OPNFV_RELENG_VERSION + USE_PROMOTED_VERSIONS=$USE_PROMOTED_VERSIONS + DEPLOY_SCENARIO=$DEPLOY_SCENARIO same-node: true block: true - trigger-builds: - project: 'xci-deploy-{pod}-{distro}-daily-{stream}' current-parameters: false - predefined-parameters: - DEPLOY_SCENARIO={scenario} + predefined-parameters: | + OPENSTACK_OSA_VERSION=$OPENSTACK_OSA_VERSION + OPENSTACK_BIFROST_VERSION=$OPENSTACK_BIFROST_VERSION + OPNFV_RELENG_VERSION=$OPNFV_RELENG_VERSION + USE_PROMOTED_VERSIONS=$USE_PROMOTED_VERSIONS + DEPLOY_SCENARIO=$DEPLOY_SCENARIO same-node: true block: true - trigger-builds: - project: 'xci-functest-{pod}-{distro}-daily-{stream}' current-parameters: false - predefined-parameters: - DEPLOY_SCENARIO={scenario} + predefined-parameters: | + OPENSTACK_OSA_VERSION=$OPENSTACK_OSA_VERSION + OPENSTACK_BIFROST_VERSION=$OPENSTACK_BIFROST_VERSION + OPNFV_RELENG_VERSION=$OPNFV_RELENG_VERSION + USE_PROMOTED_VERSIONS=$USE_PROMOTED_VERSIONS + DEPLOY_SCENARIO=$DEPLOY_SCENARIO same-node: true block: true block-thresholds: @@ -137,6 +182,8 @@ disabled: '{obj:disabled}' + defaults: daily_vm_defaults + concurrent: false properties: @@ -151,11 +198,14 @@ parameters: - string: - name: OPENSTACK_BRANCH - default: '{openstack-branch}' + name: OPENSTACK_OSA_VERSION + default: '{openstack-osa-version}' + - string: + name: OPENSTACK_BIFROST_VERSION + default: '{openstack-osa-version}' - string: - name: OPNFV_BRANCH - default: '{opnfv-branch}' + name: OPNFV_RELENG_VERSION + default: '{opnfv-releng-version}' - string: name: USE_PROMOTED_VERSIONS default: 'true' @@ -178,11 +228,35 @@ name: DIB_OS_PACKAGES default: '{dib-os-packages}' - string: + name: TEST_VM_NUM_NODES + default: '{test-vm-num-nodes}' + - string: + name: TEST_VM_NODE_NAMES + default: '{test-vm-node-names}' + - string: + name: VM_DOMAIN_TYPE + default: '{vm-domain-type}' + - string: + name: VM_CPU + default: '{vm-cpu}' + - string: + name: VM_DISK + default: '{vm-disk}' + - string: + name: VM_MEMORY_SIZE + default: '{vm-memory-size}' + - string: + name: VM_DISK_CACHE + default: '{vm-disk-cache}' + - string: name: CLEAN_DIB_IMAGES default: 'true' - label: name: SLAVE_LABEL default: '{slave-label}' + - string: + name: ANSIBLE_VERBOSITY + default: '' wrappers: - xci-fix-perms-workspace @@ -201,7 +275,7 @@ - pre-scm-buildstep: - shell: | #!/bin/bash - sudo -R chown $USER $WORKSPACE || exit 1 + sudo chown -R $USER $WORKSPACE || exit 1 #--------------------------- # builder macros diff --git a/jjb/xci/xci-deploy.sh b/jjb/xci/xci-deploy.sh index dae67cf84..87f9ec8db 100755 --- a/jjb/xci/xci-deploy.sh +++ b/jjb/xci/xci-deploy.sh @@ -46,18 +46,32 @@ fix_ownership # openstack-ansible enables strict host key checking by default export ANSIBLE_HOST_KEY_CHECKING=False +# ensure the versions to checkout are set +export OPENSTACK_OSA_VERSION=${OPENSTACK_OSA_VERSION:-master} +export OPNFV_RELENG_VERSION=${OPNFV_RELENG_VERSION:-master} + +# log some info +echo -e "\n" +echo "***********************************************************************" +echo "* *" +echo "* Deploy OpenStack *" +echo "* *" +echo " openstack-ansible version: $OPENSTACK_OSA_VERSION" +echo " releng version: $OPNFV_RELENG_VERSION" +echo "* *" +echo "***********************************************************************" +echo -e "\n" +# clone releng repo +sudo git clone --quiet https://gerrit.opnfv.org/gerrit/releng /opt/releng +cd /opt/releng && sudo git checkout --quiet $OPNFV_RELENG_VERSION +echo "xci: using openstack-ansible commit" +git show --oneline -s --pretty=format:'%h - %s (%cr) <%an>' + # display the nodes +echo "xci: OpenStack nodes" cd /opt/bifrost source env-vars ironic node-list -virsh list - -# ensure the branches to use are set -export OPNFV_BRANCH=${OPNFV_BRANCH:-master} -export OPENSTACK_BRANCH=${OPENSTACK_BRANCH:-master} - -# clone releng repo -sudo git clone -b $OPNFV_BRANCH https://gerrit.opnfv.org/gerrit/releng /opt/releng # this script will be reused for promoting openstack-ansible versions and using # promoted openstack-ansible versions as part of xci daily. @@ -68,3 +82,12 @@ fi cd /opt/releng/prototypes/openstack-ansible/scripts sudo -E ./osa-deploy.sh + +# log some info +echo -e "\n" +echo "***********************************************************************" +echo "* *" +echo "* OpenStack deployment is completed! *" +echo "* *" +echo "***********************************************************************" +echo -e "\n" diff --git a/jjb/xci/xci-provision.sh b/jjb/xci/xci-provision.sh index e474093b8..47a96767f 100755 --- a/jjb/xci/xci-provision.sh +++ b/jjb/xci/xci-provision.sh @@ -38,16 +38,37 @@ if [[ ! "$DISTRO" =~ (xenial|centos7|suse) ]]; then fi # remove previously cloned repos -sudo /bin/rm -rf /opt/bifrost /opt/openstack-ansible /opt/stack /opt/releng /opt/functest +sudo /bin/rm -rf /opt/bifrost /opt/openstack-ansible /opt/releng /opt/functest # Fix up permissions fix_ownership -# ensure the branches to use are set -export OPENSTACK_BRANCH=${OPENSTACK_BRANCH:-master} -export OPNFV_BRANCH=${OPNFV_BRANCH:-master} -sudo git clone -b $OPENSTACK_BRANCH https://git.openstack.org/openstack/bifrost /opt/bifrost -sudo git clone -b $OPNFV_BRANCH https://gerrit.opnfv.org/gerrit/releng /opt/releng +# ensure the versions to checkout are set +export OPENSTACK_BIFROST_VERSION=${OPENSTACK_BIFROST_VERSION:-master} +export OPNFV_RELENG_VERSION=${OPNFV_RELENG_VERSION:-master} + +# log some info +echo -e "\n" +echo "***********************************************************************" +echo "* *" +echo "* Provision OpenStack Nodes *" +echo "* *" +echo " bifrost version: $OPENSTACK_BIFROST_VERSION" +echo " releng version: $OPNFV_RELENG_VERSION" +echo "* *" +echo "***********************************************************************" +echo -e "\n" + +# clone the repos and checkout the versions +sudo git clone --quiet https://git.openstack.org/openstack/bifrost /opt/bifrost +cd /opt/bifrost && sudo git checkout --quiet $OPENSTACK_BIFROST_VERSION +echo "xci: using bifrost commit" +git show --oneline -s --pretty=format:'%h - %s (%cr) <%an>' + +sudo git clone --quiet https://gerrit.opnfv.org/gerrit/releng /opt/releng +cd /opt/releng && sudo git checkout --quiet $OPNFV_RELENG_VERSION +echo "xci: using releng commit" +git show --oneline -s --pretty=format:'%h - %s (%cr) <%an>' # this script will be reused for promoting bifrost versions and using # promoted bifrost versions as part of xci daily. @@ -65,10 +86,19 @@ sudo -E ./scripts/destroy-env.sh # provision 6 VMs; xcimaster, controller00, controller01, controller02, compute00, and compute01 cd /opt/bifrost -sudo -E ./scripts/osa-bifrost-deployment.sh +sudo -E ./scripts/bifrost-provision.sh # list the provisioned VMs cd /opt/bifrost source env-vars ironic node-list virsh list + +# log some info +echo -e "\n" +echo "***********************************************************************" +echo "* *" +echo "* OpenStack nodes are provisioned! *" +echo "* *" +echo "***********************************************************************" +echo -e "\n" |