summaryrefslogtreecommitdiffstats
path: root/jjb/joid
diff options
context:
space:
mode:
Diffstat (limited to 'jjb/joid')
-rw-r--r--jjb/joid/joid-deploy.sh24
-rw-r--r--jjb/joid/joid.yml122
2 files changed, 113 insertions, 33 deletions
diff --git a/jjb/joid/joid-deploy.sh b/jjb/joid/joid-deploy.sh
index d9ce86eb4..b7bc32df2 100644
--- a/jjb/joid/joid-deploy.sh
+++ b/jjb/joid/joid-deploy.sh
@@ -2,10 +2,12 @@
set +e
set -o nounset
+JOID_LOCAL_CONFIG_FOLDER=$HOME/joid_config
+JOID_ADMIN_OPENRC=$JOID_LOCAL_CONFIG_FOLDER/admin-openrc
+
####### Temporary - to be done with jenkins params #####
JOID_MODE=ha
JOID_RELEASE=liberty
-JOID_LOCAL_CONFIG_FOLDER=~/joid_config
JOID_SDN_CONTROLLER=odl
#################
@@ -33,7 +35,6 @@ else
export OS_ADMIN_PASSWORD=openstack
export CEPH_DISKS=/srv
export CEPH_REFORMAT=no
- export JOID_ADMIN_OPENRC=$WORKSPACE/admin_openrc.sh
fi
##
@@ -47,8 +48,8 @@ if [ -e "$JOID_LOCAL_CONFIG_FOLDER/environments.yaml" ] && [ "$MAAS_REINSTALL" =
else
MAASCONFIG=$WORKSPACE/ci/maas/$POD_DC/$POD_NUM/deployment.yaml
echo "------ Set MAAS password ------"
- sed -i -- 's/user: ubuntu/user: $MAAS_USER/' $MAASCONFIG
- sed -i -- 's/password: ubuntu/password: $MAAS_PASSWORD/' $MAASCONFIG
+ sed -i -- "s/user: ubuntu/user: $MAAS_USER/" $MAASCONFIG
+ sed -i -- "s/password: ubuntu/password: $MAAS_PASSWORD/" $MAASCONFIG
echo "------ Redeploy MAAS ------"
./02-maasdeploy.sh $POD_NAME
fi
@@ -86,9 +87,16 @@ echo "Execute: ./deploy.sh -t $JOID_MODE -o $JOID_RELEASE -s $JOID_SDN_CONTROLLE
## Set Admin RC
##
-echo "------ Create OpenRC file ------"
-KEYSTONE=$(cat bundle.yaml |shyaml get-value openstack-phase2.services.keystone.options.vip)
+echo "------ Create OpenRC file [$JOID_ADMIN_OPENRC] ------"
+KEYSTONE=$(cat bundles.yaml |shyaml get-value openstack-phase2.services.keystone.options.vip)
+
+# create the folder if needed
+JOID_ADMIN_OPENRC_FOLDER=$(echo $JOID_ADMIN_OPENRC | perl -pe "s|^(.*/).*?$|\1|")
+if [ ! -d "$JOID_ADMIN_OPENRC_FOLDER" ]; then
+ mkdir -p $JOID_ADMIN_OPENRC_FOLDER
+fi
+# export the openrc file
cat << EOF > $JOID_ADMIN_OPENRC
export OS_USERNAME=admin
export OS_PASSWORD=$OS_ADMIN_PASSWORD
@@ -97,6 +105,10 @@ export OS_AUTH_URL=http://$KEYSTONE:5000/v2.0
export OS_REGION_NAME=Canonical
EOF
+##
+## Backup local juju env
+##
+
if [ -d "$JOID_LOCAL_CONFIG_FOLDER" ]; then
echo "------ Backup Juju environment ------"
cp environments.yaml $JOID_LOCAL_CONFIG_FOLDER/
diff --git a/jjb/joid/joid.yml b/jjb/joid/joid.yml
index fdeddc680..90b3df682 100644
--- a/jjb/joid/joid.yml
+++ b/jjb/joid/joid.yml
@@ -5,39 +5,60 @@
name: 'joid'
+ project: '{name}'
+
installer: 'joid'
- controller: 'odl'
+ sdn-controller:
+ - 'nosdn':
+ disabled: true
+ - 'odl':
+ disabled: false
+ - 'onos':
+ disabled: true
+ - 'opencontrail':
+ disabled: true
pod:
- 'intel-pod5'
- 'orange-pod2'
+# only master branch is enabled at the moment to keep no of jobs sane
stream:
- master:
- branch: 'master'
+ branch: '{stream}'
gs-pathname: ''
+# - brahmaputra:
+# branch: 'stable/{stream}'
+# gs-pathname: '{stream}'
jobs:
- - 'joid-{controller}-{pod}-daily-{stream}'
+ - 'joid-{sdn-controller}-{pod}-daily-{stream}'
- 'joid-deploy-{pod}-daily-{stream}'
########################
# job templates
########################
- job-template:
- name: 'joid-{controller}-{pod}-daily-{stream}'
+ name: 'joid-{sdn-controller}-{pod}-daily-{stream}'
- disabled: false
+ project-type: multijob
+
+ disabled: '{obj:disabled}'
concurrent: false
parameters:
- project-parameter:
- project: '{installer}'
- - 'intel-us-build-1-defaults'
- - '{installer}-defaults':
- controller: '{controller}'
+ project: '{project}'
+ - '{pod}-defaults'
+ - '{installer}-defaults'
+ - string:
+ name: SDN_CONTROLLER
+ default: '{sdn-controller}'
+ - string:
+ name: OPNFV_FEATURE
+ default: 'none'
scm:
- git-scm:
@@ -46,12 +67,9 @@
branch: '{branch}'
builders:
- - trigger-builds:
- - project: 'joid-deploy-{pod}-daily-{stream}'
- git-revision: true
- block: true
- predefined-parameters:
- CONTROLLER={controller}
+ - '{installer}-multijob-{pod}-builder':
+ pod: '{pod}'
+ stream: '{stream}'
- job-template:
name: 'joid-deploy-{pod}-daily-{stream}'
@@ -62,14 +80,13 @@
wrappers:
- build-name:
- name: '$BUILD_NUMBER: {installer} $CONTROLLER'
+ name: '$BUILD_NUMBER: $INSTALLER_TYPE $SDN_CONTROLLER'
parameters:
- project-parameter:
- project: '{installer}'
+ project: '{project}'
- '{pod}-defaults'
- - '{installer}-defaults':
- controller: '{controller}'
+ - '{installer}-defaults'
scm:
- git-scm:
@@ -81,6 +98,58 @@
- '{pod}-builder'
########################
+# multijob builder macros
+########################
+# intel-pod5 is CI POD so full CI will run on it
+# deploy, functest, yardstick
+- builder:
+ name: joid-multijob-intel-pod5-builder
+ builders:
+ - multijob:
+ name: deploy
+ condition: SUCCESSFUL
+ projects:
+ - name: 'joid-deploy-{pod}-daily-{stream}'
+ current-parameters: true
+ git-revision: true
+ kill-phase-on: FAILURE
+ - multijob:
+ name: functest
+ condition: COMPLETED
+ projects:
+ - name: 'functest-joid-{pod}-daily-{stream}'
+ current-parameters: true
+ kill-phase-on: NEVER
+# yardstick placeholder
+# - multijob:
+# name: yardstick
+# condition: COMPLETED
+# projects:
+# - name: 'yardstick-joid-{pod}-daily-{stream}'
+# current-parameters: true
+# kill-phase-on: NEVER
+
+# orange-pod2 is NOT a CI POD so only the selected jobs will run
+# deploy and functest currently
+- builder:
+ name: joid-multijob-orange-pod2-builder
+ builders:
+ - multijob:
+ name: deploy
+ condition: SUCCESSFUL
+ projects:
+ - name: 'joid-deploy-{pod}-daily-{stream}'
+ current-parameters: true
+ git-revision: true
+ kill-phase-on: FAILURE
+ - multijob:
+ name: functest
+ condition: COMPLETED
+ projects:
+ - name: 'functest-joid-{pod}-daily-{stream}'
+ current-parameters: true
+ kill-phase-on: NEVER
+########################
# builder macros
########################
- builder:
@@ -88,26 +157,25 @@
builders:
- shell: |
#!/bin/bash
- echo "Running $INSTALLER_NAME with controller $CONTROLLER"
+ echo "Running $INSTALLER_TYPE with controller $SDN_CONTROLLER"
echo "Please note that this is a quick try to see how joid deployment works"
echo
echo "Executing clean.sh"
cd $WORKSPACE/ci
./clean.sh
- - shell: |
- cd $WORKSPACE/ci
+ echo
echo "Executing 02-maasdeploy.sh intelpod5"
./02-maasdeploy.sh intelpod5
- - shell: |
- cd $WORKSPACE/ci
- echo "Executing deploy.sh -o liberty -s $CONTROLLER -t ha -l intelpod5"
- ./deploy.sh -o liberty -s $CONTROLLER -t ha -l intelpod5
+ echo
+ echo "Executing deploy.sh -o liberty -s $SDN_CONTROLLER -t ha -l intelpod5"
+ ./deploy.sh -o liberty -s $SDN_CONTROLLER -t ha -l intelpod5
+
- builder:
name: orange-pod2-builder
builders:
- shell: |
#!/bin/bash
- echo "Running $INSTALLER_NAME with controller $CONTROLLER"
+ echo "Running $INSTALLER_TYPE with controller $SDN_CONTROLLER"
echo "Please note that this is WIP generic builder"
echo
echo "Executing clean.sh"