summaryrefslogtreecommitdiffstats
path: root/jjb
diff options
context:
space:
mode:
authorFatih Degirmenci <fatih.degirmenci@ericsson.com>2017-03-20 15:01:52 +0100
committerFatih Degirmenci <fatih.degirmenci@ericsson.com>2017-03-20 22:31:42 +0100
commita88b258312d3c858b1b1167dfd03a09a6e28cacd (patch)
tree247d1b20e1c68565f7497dff5289492f0fe2669e /jjb
parent6eff820d35e78a9d8ffb2d35cef50e5125179e36 (diff)
xci: Enable VM provisioning using bifrost for daily runs
- create script to provision VMs (log upload is not enabled yet) - remove leftover inventory files (baremetal.csv, baremetal.json) - set BIFROST_INVENTORY_SOURCE as needed by stable/ocata - rename playbook used during bifrost and adjust scripts using it - remove puppet-infracloud stuff Change-Id: I1c4412d0725c00ab9a1b3497e358d33998b4e7e6 Signed-off-by: Fatih Degirmenci <fatih.degirmenci@ericsson.com>
Diffstat (limited to 'jjb')
-rwxr-xr-xjjb/xci/bifrost-verify.sh10
-rw-r--r--jjb/xci/xci-daily-jobs.yml48
-rwxr-xr-xjjb/xci/xci-provision.sh73
3 files changed, 88 insertions, 43 deletions
diff --git a/jjb/xci/bifrost-verify.sh b/jjb/xci/bifrost-verify.sh
index 4115ffcc4..e0c50907a 100755
--- a/jjb/xci/bifrost-verify.sh
+++ b/jjb/xci/bifrost-verify.sh
@@ -95,14 +95,13 @@ if [[ ! "$DISTRO" =~ (trusty|centos7|suse) ]]; then
fi
# remove previously cloned repos
-sudo /bin/rm -rf /opt/bifrost /opt/puppet-infracloud /opt/stack /opt/releng
+sudo /bin/rm -rf /opt/bifrost /opt/stack /opt/releng
# Fix up permissions
fix_ownership
# clone all the repos first and checkout the patch afterwards
sudo git clone https://git.openstack.org/openstack/bifrost /opt/bifrost
-sudo git clone https://git.openstack.org/openstack-infra/puppet-infracloud /opt/puppet-infracloud
sudo git clone https://gerrit.opnfv.org/gerrit/releng /opt/releng
# checkout the patch
@@ -112,13 +111,6 @@ sudo git fetch $PROJECT_REPO $GERRIT_REFSPEC && sudo git checkout FETCH_HEAD
# combine opnfv and upstream scripts/playbooks
sudo /bin/cp -rf /opt/releng/prototypes/bifrost/* /opt/bifrost/
-# place bridge creation file on the right path
-sudo mkdir -p /opt/puppet-infracloud/files/elements/infra-cloud-bridge/static/opt
-sudo cp /opt/puppet-infracloud/templates/bifrost/create_bridge.py.erb /opt/puppet-infracloud/files/elements/infra-cloud-bridge/static/opt/create_bridge.py
-
-# replace bridge name
-sudo sed -i s/"<%= @bridge_name -%>"/br_opnfv/g /opt/puppet-infracloud/files/elements/infra-cloud-bridge/static/opt/create_bridge.py
-
# cleanup remnants of previous deployment
cd /opt/bifrost
sudo -E ./scripts/destroy-env.sh
diff --git a/jjb/xci/xci-daily-jobs.yml b/jjb/xci/xci-daily-jobs.yml
index a71b9b783..c685aa974 100644
--- a/jjb/xci/xci-daily-jobs.yml
+++ b/jjb/xci/xci-daily-jobs.yml
@@ -5,11 +5,13 @@
#--------------------------------
master: &master
stream: master
- branch: '{stream}'
+ openstack-branch: '{stream}'
+ opnfv-branch: 'master'
gs-pathname: ''
ocata: &ocata
stream: ocata
- branch: 'stable/{stream}'
+ openstack-branch: 'stable/{stream}'
+ opnfv-branch: 'master'
gs-pathname: '/{stream}'
#--------------------------------
# scenarios
@@ -55,21 +57,9 @@
# Phases
#--------------------------------
phase:
- - 'provision':
- project: 'openstack'
- project-repo: 'https://git.openstack.org/openstack/bifrost'
- project-branch: '{branch}'
- clone-location: '/opt/bifrost'
- - 'deploy':
- project: 'openstack'
- project-repo: 'https://git.openstack.org/openstack/openstack-ansible'
- project-branch: '{branch}'
- clone-location: '/opt/openstack-ansible'
- - 'functest':
- project: 'opnfv'
- project-repo: 'https://gerrit.opnfv.org/gerrit/functest'
- project-branch: 'master'
- clone-location: '/opt/functest'
+ - 'provision'
+ - 'deploy'
+ - 'functest'
#--------------------------------
# jobs
#--------------------------------
@@ -158,17 +148,17 @@
parameters:
- string:
- name: PROJECT
- default: '{project}'
+ name: OPENSTACK_BRANCH
+ default: '{openstack-branch}'
- string:
- name: PROJECT_REPO
- default: '{project-repo}'
+ name: OPNFV_BRANCH
+ default: '{opnfv-branch}'
- string:
- name: DEPLOY_SCENARIO
- default: '{scenario}'
+ name: USE_PROMOTED_VERSIONS
+ default: 'true'
- string:
- name: CLONE_LOCATION
- default: '{clone-location}'
+ name: DEPLOY_SCENARIO
+ default: 'os-nosdn-nofeature-ha'
- string:
name: DISTRO
default: '{distro}'
@@ -188,14 +178,6 @@
name: CLEAN_DIB_IMAGES
default: 'true'
- scm:
- - git:
- url: '$PROJECT_REPO'
- branches:
- - 'origin/{project-branch}'
- wipe-workspace: true
- timeout: 15
-
builders:
- description-setter:
description: "Built on $NODE_NAME - Scenario: $DEPLOY_SCENARIO"
diff --git a/jjb/xci/xci-provision.sh b/jjb/xci/xci-provision.sh
index b77c79caa..4308c7ef8 100755
--- a/jjb/xci/xci-provision.sh
+++ b/jjb/xci/xci-provision.sh
@@ -1,3 +1,74 @@
#!/bin/bash
+# SPDX-license-identifier: Apache-2.0
+##############################################################################
+# Copyright (c) 2016 Ericsson AB and others.
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+##############################################################################
+set -o errexit
+set -o nounset
+set -o pipefail
-echo "Provisioning via bifrost"
+trap cleanup_and_upload EXIT
+
+function fix_ownership() {
+ if [ -z "${JOB_URL+x}" ]; then
+ echo "Not running as part of Jenkins. Handle the logs manually."
+ else
+ # Make sure cache exists
+ [[ ! -d ${HOME}/.cache ]] && mkdir ${HOME}/.cache
+
+ sudo chown -R jenkins:jenkins $WORKSPACE
+ sudo chown -R jenkins:jenkins ${HOME}/.cache
+ fi
+}
+
+function cleanup_and_upload() {
+ original_exit=$?
+ fix_ownership
+ exit $original_exit
+}
+
+# check distro to see if we support it
+if [[ ! "$DISTRO" =~ (xenial|centos7|suse) ]]; then
+ echo "Distro $DISTRO is not supported!"
+ exit 1
+fi
+
+# remove previously cloned repos
+sudo /bin/rm -rf /opt/bifrost /opt/openstack-ansible /opt/stack /opt/releng /opt/functest
+
+# Fix up permissions
+fix_ownership
+
+# clone all the repos first and checkout the patch afterwards
+OPENSTACK_BRANCH=${OPENSTACK_BRANCH:-master}
+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
+
+# this script will be reused for promoting bifrost versions and using
+# promoted bifrost versions as part of xci daily.
+USE_PROMOTED_VERSIONS=${USE_PROMOTED_VERSIONS:-false}
+if [ $USE_PROMOTED_VERSIONS = "true" ]; then
+ echo "TBD: Will use the promoted versions of openstack/opnfv projects"
+fi
+
+# combine opnfv and upstream scripts/playbooks
+sudo /bin/cp -rf /opt/releng/prototypes/bifrost/* /opt/bifrost/
+
+# cleanup remnants of previous deployment
+cd /opt/bifrost
+sudo -E ./scripts/destroy-env.sh
+
+# provision 6 VMs; jumphost, controller00, controller01, controller02, compute00, and compute01
+cd /opt/bifrost
+sudo -E ./scripts/osa-bifrost-deployment.sh
+
+# list the provisioned VMs
+cd /opt/bifrost
+source env-vars
+ironic node-list
+virsh list