summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFatih Degirmenci <fatih.degirmenci@ericsson.com>2017-04-04 09:18:54 -0700
committerFatih Degirmenci <fatih.degirmenci@ericsson.com>2017-04-04 16:42:33 +0000
commitd1378b9f3d570d07af5a8f08144070059105373f (patch)
tree612e56018feba570b95f0678d9285ddba403e33e
parent6e6882fcd2915870289c6612405be3c4e078b484 (diff)
xci: Introduce XCI_LOOP variable to control what to do properlydanube.1.0
XCI has different jobs/loops to run - patchset verification jobs (currently bifrost and osa in future) - periodic jobs (bifrost and osa) - daily jobs (for OPNFV platform deployment and testing) The same scripts/playbooks used by XCI will also be used by developers. We need to do different things depending on the context the scripts and playbooks are executed. - periodic jobs will use latest of everything to find working versions of the components. (periodic osa will use unpinned role requirements for example) - daily jobs will use pinned versions in order to bring up the platform and run OPNFV testing against it. (daily deployment will use pinned versions and role requirements for example) - developers might choose to use pinned versions or latest Depending on what loop we are running, we need to do things differently in scripts and playbooks. This variable will help us to do this in easy way. We can of course do pattern matching of the job name but it will not work if the scripts are used outside of Jenkins. The default loop for non-Jenkins execution is set to daily as we want developers to use working versions unless they change it to something else intentionally. Change-Id: Iff69c77ae3d9db2c14de1783ce098da9e9f0c83d Signed-off-by: Fatih Degirmenci <fatih.degirmenci@ericsson.com>
-rw-r--r--jjb/xci/bifrost-periodic-jobs.yml3
-rw-r--r--jjb/xci/bifrost-verify-jobs.yml3
-rw-r--r--jjb/xci/osa-periodic-jobs.yml3
-rw-r--r--jjb/xci/xci-daily-jobs.yml8
-rwxr-xr-xjjb/xci/xci-deploy.sh6
-rwxr-xr-xprototypes/xci/config/env-vars1
-rw-r--r--prototypes/xci/playbooks/configure-opnfvhost.yml2
-rw-r--r--prototypes/xci/var/opnfv.yml1
8 files changed, 24 insertions, 3 deletions
diff --git a/jjb/xci/bifrost-periodic-jobs.yml b/jjb/xci/bifrost-periodic-jobs.yml
index 0c29fd3c9..3e9ff678e 100644
--- a/jjb/xci/bifrost-periodic-jobs.yml
+++ b/jjb/xci/bifrost-periodic-jobs.yml
@@ -122,6 +122,9 @@
- string:
name: ANSIBLE_VERBOSITY
default: ''
+ - string:
+ name: XCI_LOOP
+ default: 'periodic'
wrappers:
- fix-workspace-permissions
diff --git a/jjb/xci/bifrost-verify-jobs.yml b/jjb/xci/bifrost-verify-jobs.yml
index 80c816ca1..806829620 100644
--- a/jjb/xci/bifrost-verify-jobs.yml
+++ b/jjb/xci/bifrost-verify-jobs.yml
@@ -140,6 +140,9 @@
- string:
name: ANSIBLE_VERBOSITY
default: '-vvvv'
+ - string:
+ name: XCI_LOOP
+ default: 'verify'
scm:
- git:
diff --git a/jjb/xci/osa-periodic-jobs.yml b/jjb/xci/osa-periodic-jobs.yml
index 42b49411b..56a4b18b4 100644
--- a/jjb/xci/osa-periodic-jobs.yml
+++ b/jjb/xci/osa-periodic-jobs.yml
@@ -119,6 +119,9 @@
- string:
name: ANSIBLE_VERBOSITY
default: ''
+ - string:
+ name: XCI_LOOP
+ default: 'periodic'
wrappers:
- fix-workspace-permissions
diff --git a/jjb/xci/xci-daily-jobs.yml b/jjb/xci/xci-daily-jobs.yml
index 94bfafed0..64e13d3eb 100644
--- a/jjb/xci/xci-daily-jobs.yml
+++ b/jjb/xci/xci-daily-jobs.yml
@@ -109,6 +109,9 @@
- label:
name: SLAVE_LABEL
default: '{slave-label}'
+ - string:
+ name: XCI_LOOP
+ default: 'daily'
triggers:
- '{auto-trigger-name}'
@@ -125,6 +128,7 @@
predefined-parameters: |
DEPLOY_SCENARIO=$DEPLOY_SCENARIO
XCI_FLAVOR=$XCI_FLAVOR
+ XCI_LOOP=$XCI_LOOP
same-node: true
block: true
- trigger-builds:
@@ -133,6 +137,7 @@
predefined-parameters: |
DEPLOY_SCENARIO=$DEPLOY_SCENARIO
XCI_FLAVOR=$XCI_FLAVOR
+ XCI_LOOP=$XCI_LOOP
same-node: true
block: true
block-thresholds:
@@ -205,6 +210,9 @@
- string:
name: ANSIBLE_VERBOSITY
default: ''
+ - string:
+ name: XCI_LOOP
+ default: 'daily'
builders:
- description-setter:
diff --git a/jjb/xci/xci-deploy.sh b/jjb/xci/xci-deploy.sh
index 33457b9f0..1ef4e8237 100755
--- a/jjb/xci/xci-deploy.sh
+++ b/jjb/xci/xci-deploy.sh
@@ -15,14 +15,14 @@ cd $WORKSPACE/prototypes/xci
# for daily jobs, we want to use working versions
# for periodic jobs, we will use whatever is set in the job, probably master
-if [[ "$JOB_NAME" =~ "daily" ]]; then
+if [[ "$XCI_LOOP" == "daily" ]]; then
# source pinned-vars to get releng version
source ./config/pinned-versions
# checkout the version
git checkout -q $OPNFV_RELENG_VERSION
echo "Info: Using $OPNFV_RELENG_VERSION"
-elif [[ "$JOB_NAME" =~ "periodic" ]]; then
+elif [[ "$XCI_LOOP" == "periodic" ]]; then
echo "Info: Using $OPNFV_RELENG_VERSION"
fi
@@ -31,7 +31,7 @@ fi
# to take this into account while deploying anyways
# clone openstack-ansible
# stable/ocata already use pinned versions so this is only valid for master
-if [[ "$JOB_NAME" =~ "periodic" && "$OPENSTACK_OSA_VERSION" == "master" ]]; then
+if [[ "$XCI_LOOP" == "periodic" && "$OPENSTACK_OSA_VERSION" == "master" ]]; then
cd $WORKSPACE
# get the url to openstack-ansible git
source ./config/env-vars
diff --git a/prototypes/xci/config/env-vars b/prototypes/xci/config/env-vars
index 052be2ace..cefb412a6 100755
--- a/prototypes/xci/config/env-vars
+++ b/prototypes/xci/config/env-vars
@@ -9,6 +9,7 @@ export OPENSTACK_OSA_ETC_PATH=/etc/openstack_deploy
export CLEAN_DIB_IMAGES=false
export OPNFV_HOST_IP=192.168.122.2
export XCI_FLAVOR_ANSIBLE_FILE_PATH=$OPNFV_RELENG_PATH/prototypes/xci/file/$XCI_FLAVOR
+export CI_LOOP=${CI_LOOP:-daily}
export JOB_NAME=${JOB_NAME:-false}
# TODO: this currently matches to bifrost ansible version
# there is perhaps better way to do this
diff --git a/prototypes/xci/playbooks/configure-opnfvhost.yml b/prototypes/xci/playbooks/configure-opnfvhost.yml
index 06e27e7fc..8c794c422 100644
--- a/prototypes/xci/playbooks/configure-opnfvhost.yml
+++ b/prototypes/xci/playbooks/configure-opnfvhost.yml
@@ -54,8 +54,10 @@
replace: '\1haproxy_state: enabled'
- name: copy OPNFV OpenStack playbook
shell: "/bin/cp -rf {{OPNFV_RELENG_PATH}}/prototypes/xci/file/setup-openstack.yml {{OPENSTACK_OSA_PATH}}/playbooks"
+ # Copy pinned role requirements if we are running as part of daily CI loop
- name: copy OPNFV role requirements
shell: "/bin/cp -rf {{OPNFV_RELENG_PATH}}/prototypes/xci/file/ansible-role-requirements.yml {{OPENSTACK_OSA_PATH}}"
+ when: XCI_LOOP == "daily"
- hosts: localhost
remote_user: root
tasks:
diff --git a/prototypes/xci/var/opnfv.yml b/prototypes/xci/var/opnfv.yml
index dd3761bd1..12cb55675 100644
--- a/prototypes/xci/var/opnfv.yml
+++ b/prototypes/xci/var/opnfv.yml
@@ -20,5 +20,6 @@ OPENSTACK_OSA_ETC_PATH: "{{ lookup('env','OPENSTACK_OSA_ETC_PATH') }}"
XCI_ANSIBLE_PIP_VERSION: "{{ lookup('env','XCI_ANSIBLE_PIP_VERSION') }}"
XCI_FLAVOR: "{{ lookup('env','XCI_FLAVOR') }}"
XCI_FLAVOR_ANSIBLE_FILE_PATH: "{{ lookup('env','XCI_FLAVOR_ANSIBLE_FILE_PATH') }}"
+XCI_LOOP: "{{ lookup('env','XCI_LOOP') }}"
LOG_PATH: "{{ lookup('env','LOG_PATH') }}"
OPNFV_HOST_IP: "{{ lookup('env','OPNFV_HOST_IP') }}"