summaryrefslogtreecommitdiffstats
path: root/jjb/xci
diff options
context:
space:
mode:
Diffstat (limited to 'jjb/xci')
-rw-r--r--jjb/xci/bifrost-cleanup-job.yml13
-rw-r--r--jjb/xci/bifrost-verify-jobs.yml48
-rwxr-xr-xjjb/xci/bifrost-verify.sh4
-rw-r--r--jjb/xci/xci-daily-jobs.yml104
-rwxr-xr-xjjb/xci/xci-deploy.sh39
-rwxr-xr-xjjb/xci/xci-provision.sh44
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"