diff options
Diffstat (limited to 'jjb/apex/apex.yml')
-rw-r--r-- | jjb/apex/apex.yml | 118 |
1 files changed, 94 insertions, 24 deletions
diff --git a/jjb/apex/apex.yml b/jjb/apex/apex.yml index e6d196a38..8e2f51152 100644 --- a/jjb/apex/apex.yml +++ b/jjb/apex/apex.yml @@ -4,8 +4,8 @@ - 'apex-verify-{stream}' - 'apex-merge-{stream}' - 'apex-build-{stream}' - - 'apex-deploy-virtual-{stream}' - - 'apex-deploy-baremetal-{stream}' + - 'apex-deploy-virtual-{scenario}-{stream}' + - 'apex-deploy-baremetal-{scenario}-{stream}' - 'apex-daily-{stream}' # stream: branch with - in place of / (eg. stable-arno) @@ -17,9 +17,17 @@ - brahmaputra: branch: 'stable/brahmaputra' gs-pathname: '/brahmaputra' + disabled: true project: 'apex' + scenario: + - 'os-odl_l2-nofeature-ha' + - 'os-odl_l2-sfc-ha' + - 'os-odl_l3-nofeature-ha' + - 'os-onos-nofeature-ha' + - 'os-opencontrail-nofeature-ha' + - job-template: name: 'apex-verify-{stream}' @@ -28,7 +36,6 @@ parameters: - apex-parameter: gs-pathname: '{gs-pathname}' - ARTIFACT_VERSION: 'dev' - project-parameter: project: '{project}' - gerrit-parameter: @@ -85,7 +92,18 @@ builders: - 'apex-build' - - 'apex-deploy-virtual' + - trigger-builds: + - project: 'apex-deploy-virtual-os-odl_l2-nofeature-ha-{stream}' + predefined-parameters: + BUILD_DIRECTORY=apex-verify-master/build_output + git-revision: false + block: true + - trigger-builds: + - project: 'apex-deploy-virtual-os-onos-nofeature-ha-{stream}' + predefined-parameters: + BUILD_DIRECTORY=apex-verify-master/build_output + git-revision: false + block: true - 'apex-workspace-cleanup' - job-template: @@ -181,7 +199,7 @@ - 'apex-workspace-cleanup' - job-template: - name: 'apex-deploy-virtual-{stream}' + name: 'apex-deploy-virtual-{scenario}-{stream}' # Job template for virtual deployment # @@ -203,12 +221,15 @@ project: '{project}' - apex-parameter: gs-pathname: '{gs-pathname}' + - string: + name: DEPLOY_SCENARIO + default: '{scenario}' + description: "Scenario to deploy with." properties: - build-blocker: use-build-blocker: true blocking-jobs: - - "apex-verify.*" - "apex-deploy.*" - "apex-build.*" @@ -217,7 +238,7 @@ - 'apex-workspace-cleanup' - job-template: - name: 'apex-deploy-baremetal-{stream}' + name: 'apex-deploy-baremetal-{scenario}-{stream}' # Job template for baremetal deployment # @@ -239,6 +260,10 @@ project: '{project}' - apex-parameter: gs-pathname: '{gs-pathname}' + - string: + name: DEPLOY_SCENARIO + default: '{scenario}' + description: "Scenario to deploy with." properties: - build-blocker: @@ -295,7 +320,9 @@ current-parameters: true block: true - trigger-builds: - - project: 'apex-deploy-baremetal-{stream}' + - project: 'apex-deploy-baremetal-os-odl_l2-nofeature-ha-{stream}' + predefined-parameters: + DEPLOY_SCENARIO="os-odl_l2-nofeature-ha" git-revision: true block: true - trigger-builds: @@ -455,12 +482,17 @@ # specific artifact from artifacts.opnfv.org RPM_INSTALL_PATH=$GS_URL/$ARTIFACT_NAME else - if [[ -f opnfv.properties ]]; then + if [[ -f ${BUILD_DIRECTORY}/../opnfv.properties ]]; then # if opnfv.properties exists then use the # local build. Source the file so we get local OPNFV vars - source opnfv.properties - RPM_INSTALL_PATH=build_output/$(basename $OPNFV_RPM_URL) + source ${BUILD_DIRECTORY}/../opnfv.properties + RPM_INSTALL_PATH=${BUILD_DIRECTORY}/$(basename $OPNFV_RPM_URL) else + if [[ $BUILD_DIRECTORY == *verify* ]]; then + echo "BUILD_DIRECTORY is from a verify job, so will not use latest from URL" + echo "Check that the slave has opnfv.properties in $BUILD_DIRECTORY" + exit 1 + fi # no opnfv.properties means use the latest from artifacts.opnfv.org # get the latest.properties to get the link to the latest artifact curl -s -o $WORKSPACE/opnfv.properties http://$GS_URL/latest.properties @@ -471,25 +503,40 @@ fi fi - source opnfv.properties - RPM_INSTALL_PATH=build_output/$(basename $OPNFV_RPM_URL) + RPM_LIST=$RPM_INSTALL_PATH + for pkg in common undercloud; do + RPM_LIST+=" ${RPM_INSTALL_PATH/opnfv-apex/opnfv-apex-${pkg}}" + done # update / install the new rpm if rpm -q opnfv-apex > /dev/null; then if [ $(basename $OPNFV_RPM_URL) == $(rpm -q opnfv-apex).rpm ]; then echo "RPM is already installed" - elif sudo yum update -y $RPM_INSTALL_PATH | grep "does not update installed package"; then - sudo yum downgrade -y $RPM_INSTALL_PATH; + elif sudo yum update -y $RPM_LIST | grep "does not update installed package"; then + if ! sudo yum downgrade -y $RPM_LIST; then + sudo yum remove -y opnfv-undercloud opnfv-common + sudo yum downgrade -y $RPM_INSTALL_PATH + fi fi else - sudo yum install -y $RPM_INSTALL_PATH; + sudo yum install -y $RPM_LIST; fi # cleanup virtual machines before we start sudo opnfv-clean # initiate virtual deployment - if [ -e /usr/share/doc/opnfv/network_settings.yaml.example ]; then - sudo opnfv-deploy -v -d /usr/share/doc/opnfv/deploy_settings.yaml.example -n /usr/share/doc/opnfv/network_settings.yaml.example + if [ -e /etc/opnfv-apex/network_settings.yaml ]; then + if [ -n "$DEPLOY_SCENARIO" ]; then + echo "Deploy Scenario set to ${DEPLOY_SCENARIO}" + if [ -e /etc/opnfv-apex/${DEPLOY_SCENARIO}.yaml ]; then + sudo opnfv-deploy -v -d /etc/opnfv-apex/${DEPLOY_SCENARIO}.yaml -n /etc/opnfv-apex/network_settings.yaml + else + echo "File does not exist /etc/opnfv-apex/${DEPLOY_SCENARIO}.yaml" + exit 1 + fi + else + echo "Deploy scenario not set!" + exit 1 else sudo opnfv-deploy -v fi @@ -538,23 +585,46 @@ RPM_INSTALL_PATH=http://${OPNFV_RPM_URL} fi + RPM_LIST=$RPM_INSTALL_PATH + for pkg in common undercloud; do + RPM_LIST+=" ${RPM_INSTALL_PATH/opnfv-apex/opnfv-apex-${pkg}}" + done + # update / install the new rpm if rpm -q opnfv-apex > /dev/null; then if [ $(basename $OPNFV_RPM_URL) == $(rpm -q opnfv-apex).rpm ]; then echo "RPM is already installed" - elif sudo yum update -y $RPM_INSTALL_PATH | grep "does not update installed package"; then - sudo yum downgrade -y $RPM_INSTALL_PATH; + elif sudo yum update -y $RPM_LIST | grep "does not update installed package"; then + if ! sudo yum downgrade -y $RPM_LIST; then + sudo yum remove -y opnfv-undercloud opnfv-common + sudo yum downgrade -y $RPM_INSTALL_PATH + fi fi else - sudo yum install -y $RPM_INSTALL_PATH; + sudo yum install -y $RPM_LIST; fi # cleanup environment before we start sudo opnfv-clean # initiate baremetal deployment - sudo opnfv-deploy -i /root/inventory/pod_settings.yaml \ - -d /usr/share/doc/opnfv/deploy_settings.yaml.example \ - -n /root/network/network_settings.yaml + if [ -e /etc/opnfv-apex/network_settings.yaml ]; then + if [ -n "$DEPLOY_SCENARIO" ]; then + echo "Deploy Scenario set to ${DEPLOY_SCENARIO}" + if [ -e /etc/opnfv-apex/${DEPLOY_SCENARIO}.yaml ]; then + sudo opnfv-deploy -i /root/inventory/pod_settings.yaml \ + -d /etc/opnfv-apex/${DEPLOY_SCENARIO}.yaml \ + -n /root/network_settings.yaml + else + echo "File does not exist /etc/opnfv-apex/${DEPLOY_SCENARIO}.yaml" + exit 1 + fi + else + echo "Deploy scenario not set!" + exit 1 + else + echo "File /etc/opnfv-apex/network_settings.yaml does not exist!" + exit 1 + fi echo echo "--------------------------------------------------------" |