diff options
Diffstat (limited to 'jjb')
24 files changed, 1080 insertions, 364 deletions
diff --git a/jjb/apex/apex.yml b/jjb/apex/apex.yml index acc0550fb..b304f2270 100644 --- a/jjb/apex/apex.yml +++ b/jjb/apex/apex.yml @@ -15,17 +15,19 @@ branch: 'master' gs-pathname: '' block-stream: 'brahmaputra' + slave: 'opnfv-jump-1' - brahmaputra: branch: 'stable/brahmaputra' gs-pathname: '/brahmaputra' block-stream: 'master' + slave: 'opnfv-jump-1' disabled: false project: 'apex' scenario: - 'os-odl_l2-nofeature-ha' - - 'os-odl_l2-sfc-ha' + - 'os-odl_l2-sfc-noha' - 'os-odl_l3-nofeature-ha' - 'os-onos-nofeature-ha' - 'os-opencontrail-nofeature-ha' @@ -37,7 +39,7 @@ - job-template: name: 'apex-verify-{stream}' - node: opnfv-jump-1 + node: '{slave}' parameters: - apex-parameter: @@ -63,7 +65,7 @@ - patchset-created-event: exclude-drafts: 'false' exclude-trivial-rebase: 'false' - exclude-no-code-change: 'false' + exclude-no-code-change: 'true' - draft-published-event - comment-added-contains-event: comment-contains-value: 'recheck' @@ -84,9 +86,6 @@ pattern: 'lib/**' - compare-type: ANT pattern: 'config/**' - forbidden-file-paths: - - compare-type: ANT - pattern: 'docs/**' properties: - build-blocker: @@ -102,20 +101,30 @@ - 'apex-build' - trigger-builds: - project: 'apex-deploy-virtual-os-odl_l2-nofeature-ha-{stream}' - predefined-parameters: + predefined-parameters: | BUILD_DIRECTORY=apex-verify-{stream}/build_output + OPNFV_CLEAN=yes git-revision: false block: true - trigger-builds: - project: 'apex-deploy-virtual-os-onos-nofeature-ha-{stream}' - predefined-parameters: + predefined-parameters: | BUILD_DIRECTORY=apex-verify-{stream}/build_output + OPNFV_CLEAN=yes git-revision: false block: true - trigger-builds: - project: 'apex-deploy-virtual-os-odl_l3-nofeature-ha-{stream}' - predefined-parameters: + predefined-parameters: | BUILD_DIRECTORY=apex-verify-{stream}/build_output + OPNFV_CLEAN=yes + git-revision: false + block: true + - trigger-builds: + - project: 'apex-deploy-virtual-os-odl_l2-sfc-noha-{stream}' + predefined-parameters: | + BUILD_DIRECTORY=apex-verify-{stream}/build_output + OPNFV_CLEAN=yes git-revision: false block: true - 'apex-workspace-cleanup' @@ -157,10 +166,12 @@ builders: - trigger-builds: - project: 'apex-deploy-{platform}-{scenario}-{stream}' + predefined-parameters: + OPNFV_CLEAN='yes' git-revision: false block: true - trigger-builds: - - project: 'functest-apex-opnfv-jump-1-daily-{stream}' + - project: 'yardstick-apex-opnfv-jump-1-daily-{stream}' predefined-parameters: DEPLOY_SCENARIO={scenario} block: true @@ -169,7 +180,9 @@ failure-threshold: 'never' unstable-threshold: 'FAILURE' - trigger-builds: - - project: 'yardstick-apex-opnfv-jump-1-daily-{stream}' + - project: 'functest-apex-opnfv-jump-1-daily-{stream}' + predefined-parameters: + DEPLOY_SCENARIO={scenario} block: true block-thresholds: build-step-failure-threshold: 'never' @@ -184,7 +197,7 @@ # Required Variables: # stream: branch with - in place of / (eg. stable) # branch: branch (eg. stable) - node: opnfv-jump-1 + node: '{slave}' disabled: false @@ -230,7 +243,7 @@ # Required Variables: # stream: branch with - in place of / (eg. stable) # branch: branch (eg. stable) - node: opnfv-jump-1 + node: '{slave}' disabled: false @@ -249,6 +262,10 @@ name: DEPLOY_SCENARIO default: '{scenario}' description: "Scenario to deploy with." + - string: + name: OPNFV_CLEAN + default: 'no' + description: "Use yes in lower case to invoke clean. Indicates if the deploy environment should be cleaned before deployment" properties: - build-blocker: @@ -345,8 +362,9 @@ block: true - trigger-builds: - project: 'apex-deploy-baremetal-os-odl_l2-nofeature-ha-{stream}' - predefined-parameters: + predefined-parameters: | BUILD_DIRECTORY=apex-build-{stream}/build_output + OPNFV_CLEAN=yes git-revision: true block: true - trigger-builds: @@ -360,6 +378,8 @@ unstable-threshold: 'FAILURE' - trigger-builds: - project: 'yardstick-apex-opnfv-jump-1-daily-{stream}' + predefined-parameters: + DEPLOY_SCENARIO=os-odl_l2-nofeature-ha block: true block-thresholds: build-step-failure-threshold: 'never' @@ -382,33 +402,37 @@ unstable-threshold: 'FAILURE' - trigger-builds: - project: 'yardstick-apex-opnfv-jump-1-daily-{stream}' + predefined-parameters: + DEPLOY_SCENARIO=os-onos-nofeature-ha + block: true + block-thresholds: + build-step-failure-threshold: 'never' + failure-threshold: 'never' + unstable-threshold: 'FAILURE' + - trigger-builds: + - project: 'apex-deploy-baremetal-os-odl_l3-nofeature-ha-{stream}' + predefined-parameters: + BUILD_DIRECTORY=apex-build-{stream}/build_output + git-revision: true + block: true + - trigger-builds: + - project: 'functest-apex-opnfv-jump-1-daily-{stream}' + predefined-parameters: + DEPLOY_SCENARIO=os-odl_l3-nofeature-ha + block: true + block-thresholds: + build-step-failure-threshold: 'never' + failure-threshold: 'never' + unstable-threshold: 'FAILURE' + - trigger-builds: + - project: 'yardstick-apex-opnfv-jump-1-daily-{stream}' + predefined-parameters: + DEPLOY_SCENARIO=os-odl_l3-nofeature-ha block: true block-thresholds: build-step-failure-threshold: 'never' failure-threshold: 'never' unstable-threshold: 'FAILURE' -# - trigger-builds: -# - project: 'apex-deploy-baremetal-os-odl_l3-nofeature-ha-{stream}' -# predefined-parameters: -# BUILD_DIRECTORY=apex-build-master/build_output -# git-revision: true -# block: true -# - trigger-builds: -# - project: 'functest-apex-opnfv-jump-1-daily-{stream}' -# predefined-parameters: -# DEPLOY_SCENARIO=os-odl_l3-nofeature-ha -# block: true -# block-thresholds: -# build-step-failure-threshold: 'never' -# failure-threshold: 'never' -# unstable-threshold: 'FAILURE' -# - trigger-builds: -# - project: 'yardstick-apex-opnfv-jump-1-daily-{stream}' -# block: true -# block-thresholds: -# build-step-failure-threshold: 'never' -# failure-threshold: 'never' -# unstable-threshold: 'FAILURE' ######################## # parameter macros @@ -462,21 +486,25 @@ if echo $BUILD_TAG | grep "apex-verify" 1> /dev/null; then if echo $GERRIT_BRANCH | grep "brahmaputra" 1> /dev/null; then export OPNFV_ARTIFACT_VERSION=brahmaputra-dev${BUILD_NUMBER} + export BUILD_ARGS="-v $OPNFV_ARTIFACT_VERSION -c file://$CACHE_DIRECTORY $BUILD_DIRECTORY" else export OPNFV_ARTIFACT_VERSION=dev${BUILD_NUMBER} + export BUILD_ARGS="-r $OPNFV_ARTIFACT_VERSION -c file://$CACHE_DIRECTORY" fi elif [ "$ARTIFACT_VERSION" == "daily" ]; then if echo $GERRIT_BRANCH | grep "brahmaputra" 1> /dev/null; then export OPNFV_ARTIFACT_VERSION=brahmaputra-$(date -u +"%Y-%m-%d") + export BUILD_ARGS="-v $OPNFV_ARTIFACT_VERSION -c file://$CACHE_DIRECTORY $BUILD_DIRECTORY" else export OPNFV_ARTIFACT_VERSION=$(date -u +"%Y-%m-%d") + export BUILD_ARGS="-r $OPNFV_ARTIFACT_VERSION -c file://$CACHE_DIRECTORY --iso" fi else export OPNFV_ARTIFACT_VERSION=${ARTIFACT_VERSION} fi # start the build cd $WORKSPACE/ci - ./build.sh -v $OPNFV_ARTIFACT_VERSION -c file://$CACHE_DIRECTORY $BUILD_DIRECTORY + ./build.sh -v $OPNFV_ARTIFACT_VERSION $BUILD_ARGS RPM_VERSION=$(grep Version $BUILD_DIRECTORY/../build/opnfv-apex.spec | awk '{ print $2 }')-$(echo $OPNFV_ARTIFACT_VERSION | tr -d '_-') # list the contents of BUILD_OUTPUT directory ls -al $BUILD_DIRECTORY @@ -492,8 +520,8 @@ echo "OPNFV_RPM_MD5SUM=$(md5sum $BUILD_DIRECTORY/opnfv-apex-$RPM_VERSION.noarch.rpm | cut -d' ' -f1)" echo "OPNFV_BUILD_URL=$BUILD_URL" ) > $WORKSPACE/opnfv.properties - echo echo "--------------------------------------------------------" + echo "Done!" - builder: name: 'apex-workspace-cleanup' @@ -562,7 +590,12 @@ echo "--------------------------------------------------------" echo - if [[ ! "$ARTIFACT_NAME" == "latest" ]]; then + if [[ $BUILD_DIRECTORY == *verify-master* ]]; then + cd $WORKSPACE/../${BUILD_DIRECTORY/build_output/} + WORKSPACE=$(pwd) + echo "WORKSPACE modified to $WORKSPACE" + cd $WORKSPACE/ci + elif [[ ! "$ARTIFACT_NAME" == "latest" ]]; then # if artifact name is passed the pull a # specific artifact from artifacts.opnfv.org RPM_INSTALL_PATH=$GS_URL/$ARTIFACT_NAME @@ -600,43 +633,55 @@ fi fi - RPM_LIST=$RPM_INSTALL_PATH - for pkg in common undercloud; do - RPM_LIST+=" ${RPM_INSTALL_PATH/opnfv-apex/opnfv-apex-${pkg}}" - done + if [ -z "$DEPLOY_SCENARIO" ]; then + echo "Deploy scenario not set!" + exit 1 + fi - # 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_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 + # use local build for verify + if [[ $BUILD_DIRECTORY == *verify-master* ]]; then + if [ ! -e "${WORKSPACE}/build/lib" ]; then ln -s ${WORKSPACE}/lib ${WORKSPACE}/build/lib; fi + DEPLOY_CMD="./deploy.sh -c ${WORKSPACE}/build -r ${WORKSPACE}/build/images/" + DEPLOY_FILE="${WORKSPACE}/config/deploy/${DEPLOY_SCENARIO}.yaml" + NETWORK_FILE="${WORKSPACE}/config/network/network_settings.yaml" else - sudo yum install -y $RPM_LIST; + RPM_LIST=$RPM_INSTALL_PATH + for pkg in common undercloud opendaylight-sfc; 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_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_LIST; + fi + DEPLOY_CMD=opnfv-deploy + DEPLOY_FILE="/etc/opnfv-apex/${DEPLOY_SCENARIO}.yaml" + NETWORK_FILE="/etc/opnfv-apex/network_settings.yaml" fi - # cleanup virtual machines before we start - sudo opnfv-clean - # initiate virtual deployment - 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 --debug + if [ "$OPNFV_CLEAN" == 'yes' ]; then + if [[ $BUILD_DIRECTORY == *verify-master* ]]; then + sudo ./clean.sh else - echo "File does not exist /etc/opnfv-apex/${DEPLOY_SCENARIO}.yaml" - exit 1 + sudo opnfv-clean fi - else - echo "Deploy scenario not set!" - exit 1 - fi + fi + # initiate virtual deployment + echo "Deploy Scenario set to ${DEPLOY_SCENARIO}" + if [ -e $DEPLOY_FILE ]; then + sudo $DEPLOY_CMD -v -d ${DEPLOY_FILE} -n $NETWORK_FILE --debug else - sudo opnfv-deploy -v + echo "File does not exist /etc/opnfv-apex/${DEPLOY_SCENARIO}.yaml" + exit 1 fi echo echo "--------------------------------------------------------" diff --git a/jjb/compass4nfv/compass-ci-jobs.yml b/jjb/compass4nfv/compass-ci-jobs.yml index eb9f58a84..40f17b889 100644 --- a/jjb/compass4nfv/compass-ci-jobs.yml +++ b/jjb/compass4nfv/compass-ci-jobs.yml @@ -23,15 +23,22 @@ # brahmaputra #-------------------------------- - huawei-us-deploy-bare-1: + os-version: 'trusty' <<: *brahmaputra - huawei-virtual: + os-version: 'trusty' <<: *brahmaputra #-------------------------------- # master #-------------------------------- + - huawei-us-deploy-bare-2: + os-version: 'centos7' + <<: *master - intel-pod8: + os-version: 'trusty' <<: *master - huawei-virtual: + os-version: 'trusty' <<: *master scenario: @@ -41,6 +48,9 @@ - 'os-odl_l2-nofeature-ha': disabled: false auto-trigger-name: 'compass-{scenario}-{pod}-trigger' + - 'os-odl_l3-nofeature-ha': + disabled: false + auto-trigger-name: 'compass-{scenario}-{pod}-trigger' - 'os-onos-nofeature-ha': disabled: false auto-trigger-name: 'compass-{scenario}-{pod}-trigger' @@ -74,9 +84,6 @@ wrappers: - build-name: name: '$BUILD_NUMBER - Scenario: $DEPLOY_SCENARIO' - - timeout: - timeout: 360 - fail: true parameters: - project-parameter: @@ -97,8 +104,9 @@ - trigger-builds: - project: 'compass-deploy-{pod}-daily-{stream}' current-parameters: false - predefined-parameters: + predefined-parameters: | DEPLOY_SCENARIO={scenario} + COMPASS_OS_VERSION={os-version} same-node: true block: true - trigger-builds: @@ -145,6 +153,9 @@ wrappers: - build-name: name: '$BUILD_NUMBER - Scenario: $DEPLOY_SCENARIO' + - timeout: + timeout: 120 + abort: true parameters: - project-parameter: @@ -168,11 +179,9 @@ builders: - shell: - !include-raw: ./compass-workspace-precleanup.sh - - shell: - !include-raw: ./compass-download-artifact.sh + !include-raw-escape: ./compass-download-artifact.sh - shell: - !include-raw: ./compass-deploy.sh + !include-raw-escape: ./compass-deploy.sh publishers: - archive: @@ -199,23 +208,42 @@ choices: - 'liberty' - 'juno' - - choice: - name: COMPASS_OS_VERSION - choices: - - 'trusty' - - 'centos7' ######################## # trigger macros ######################## - trigger: + name: 'compass-os-nosdn-nofeature-ha-huawei-us-deploy-bare-2-trigger' + triggers: + - timed: '' +- trigger: + name: 'compass-os-odl_l2-nofeature-ha-huawei-us-deploy-bare-2-trigger' + triggers: + - timed: '' +- trigger: + name: 'compass-os-odl_l3-nofeature-ha-huawei-us-deploy-bare-2-trigger' + triggers: + - timed: '' +- trigger: + name: 'compass-os-onos-nofeature-ha-huawei-us-deploy-bare-2-trigger' + triggers: + - timed: '' +- trigger: + name: 'compass-os-ocl-nofeature-ha-huawei-us-deploy-bare-2-trigger' + triggers: + - timed: '' +- trigger: name: 'compass-os-nosdn-nofeature-ha-huawei-us-deploy-bare-1-trigger' triggers: - timed: '0 3 * * * ' - trigger: name: 'compass-os-odl_l2-nofeature-ha-huawei-us-deploy-bare-1-trigger' triggers: - - timed: '0 20 * * *' + - timed: '0 21 * * *' +- trigger: + name: 'compass-os-odl_l3-nofeature-ha-huawei-us-deploy-bare-1-trigger' + triggers: + - timed: '' - trigger: name: 'compass-os-onos-nofeature-ha-huawei-us-deploy-bare-1-trigger' triggers: @@ -223,36 +251,44 @@ - trigger: name: 'compass-os-ocl-nofeature-ha-huawei-us-deploy-bare-1-trigger' triggers: - - timed: '' + - timed: '0 9 * * *' - trigger: name: 'compass-os-nosdn-nofeature-ha-intel-pod8-trigger' triggers: - - timed: '' + - timed: '0 3 * * *' - trigger: name: 'compass-os-odl_l2-nofeature-ha-intel-pod8-trigger' triggers: + - timed: '0 21 * * *' +- trigger: + name: 'compass-os-odl_l3-nofeature-ha-intel-pod8-trigger' + triggers: - timed: '' - trigger: name: 'compass-os-onos-nofeature-ha-intel-pod8-trigger' triggers: - - timed: '' + - timed: '0 15 * * *' - trigger: name: 'compass-os-ocl-nofeature-ha-intel-pod8-trigger' triggers: - - timed: '' + - timed: '0 9 * * *' - trigger: name: 'compass-os-nosdn-nofeature-ha-huawei-virtual-trigger' triggers: - - timed: '' + - timed: '0 3 * * *' - trigger: name: 'compass-os-odl_l2-nofeature-ha-huawei-virtual-trigger' triggers: - - timed: '0 16 * * *' + - timed: '0 21 * * *' +- trigger: + name: 'compass-os-odl_l3-nofeature-ha-huawei-virtual-trigger' + triggers: + - timed: '' - trigger: name: 'compass-os-onos-nofeature-ha-huawei-virtual-trigger' triggers: - - timed: '0 16 * * *' + - timed: '0 15 * * *' - trigger: name: 'compass-os-ocl-nofeature-ha-huawei-virtual-trigger' triggers: - - timed: '' + - timed: '0 9 * * *' diff --git a/jjb/compass4nfv/compass-deploy.sh b/jjb/compass4nfv/compass-deploy.sh index 697a1d573..860f5da1b 100644 --- a/jjb/compass4nfv/compass-deploy.sh +++ b/jjb/compass4nfv/compass-deploy.sh @@ -6,24 +6,38 @@ echo "Starting the deployment on baremetal environment using $INSTALLER_TYPE. Th echo "--------------------------------------------------------" echo +# source the properties file so we get OPNFV vars +source $BUILD_DIRECTORY/latest.properties + +# echo the info about artifact that is used during the deployment +echo "Using ${OPNFV_ARTIFACT_URL/*\/} for deployment" + +if [[ ! "$JOB_NAME" =~ (verify|merge) ]]; then + # for none-merge deployments + # checkout the commit that was used for building the downloaded artifact + # to make sure the ISO and deployment mechanism uses same versions + echo "Checking out $OPNFV_GIT_SHA1" + git checkout $OPNFV_GIT_SHA1 --quiet +fi + echo 1 > /proc/sys/vm/drop_caches export CONFDIR=$WORKSPACE/deploy/conf export ISO_URL=file://$BUILD_DIRECTORY/compass.iso if [[ "$NODE_NAME" =~ "-vm" ]]; then export NETWORK_CONF=$CONFDIR/vm_environment/$NODE_NAME/network.yml - export DHA_CONF=$CONFDIR/vm_environment/${{DEPLOY_SCENARIO}}.yml + export DHA_CONF=$CONFDIR/vm_environment/${DEPLOY_SCENARIO}.yml else export INSTALL_NIC=eth1 export NETWORK_CONF=$CONFDIR/hardware_environment/$NODE_NAME/network.yml - export DHA_CONF=$CONFDIR/hardware_environment/$NODE_NAME/${{DEPLOY_SCENARIO}}.yml + export DHA_CONF=$CONFDIR/hardware_environment/$NODE_NAME/${DEPLOY_SCENARIO}.yml fi cd $WORKSPACE -export OS_VERSION=${{COMPASS_OS_VERSION}} -export OPENSTACK_VERSION=${{COMPASS_OPENSTACK_VERSION}} -./deploy.sh --dha ${{DHA_CONF}} --network ${{NETWORK_CONF}} +export OS_VERSION=${COMPASS_OS_VERSION} +export OPENSTACK_VERSION=${COMPASS_OPENSTACK_VERSION} +./deploy.sh --dha ${DHA_CONF} --network ${NETWORK_CONF} if [ $? -ne 0 ]; then echo "depolyment failed!" deploy_ret=1 @@ -34,6 +48,6 @@ echo "--------------------------------------------------------" echo "Done!" ssh_options="-o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no" -sshpass -p root scp 2>/dev/null $ssh_options root@${{INSTALLER_IP}}:/var/ansible/run/openstack_${{COMPASS_OPENSTACK_VERSION}}-opnfv2/ansible.log ./ &> /dev/null +sshpass -p root scp 2>/dev/null $ssh_options root@${INSTALLER_IP}:/var/ansible/run/openstack_${COMPASS_OPENSTACK_VERSION}-opnfv2/ansible.log ./ &> /dev/null exit $deploy_ret diff --git a/jjb/compass4nfv/compass-project-jobs.yml b/jjb/compass4nfv/compass-project-jobs.yml index 8943afb37..ed748aacb 100644 --- a/jjb/compass4nfv/compass-project-jobs.yml +++ b/jjb/compass4nfv/compass-project-jobs.yml @@ -82,9 +82,12 @@ branches: - branch-compare-type: 'ANT' branch-pattern: '**/{branch}' + file-paths: + - compare-type: ANT + pattern: '**/*' forbidden-file-paths: - compare-type: ANT - pattern: 'docs/**|.gitignore' + pattern: 'docs/**' builders: - trigger-builds: @@ -116,9 +119,9 @@ builders: - shell: - !include-raw: ./compass-build.sh + !include-raw-escape: ./compass-build.sh - shell: - !include-raw: ./compass-deploy.sh + !include-raw-escape: ./compass-deploy.sh publishers: - archive: @@ -157,11 +160,11 @@ builders: - shell: - !include-raw: ./compass-build.sh + !include-raw-escape: ./compass-build.sh - shell: - !include-raw: ./compass-upload-artifact.sh + !include-raw-escape: ./compass-upload-artifact.sh - shell: - !include-raw: ./compass-workspace-cleanup.sh + !include-raw-escape: ./compass-workspace-cleanup.sh - job-template: name: 'compass-build-ppa-{stream}' @@ -194,7 +197,7 @@ builders: - shell: - !include-raw: ./compass-makeppa.sh + !include-raw-escape: ./compass-makeppa.sh diff --git a/jjb/doctor/doctor.yml b/jjb/doctor/doctor.yml index 167b696a3..b2cbb0242 100644 --- a/jjb/doctor/doctor.yml +++ b/jjb/doctor/doctor.yml @@ -53,4 +53,4 @@ pattern: 'tests/**' builders: - - shell: "[ -e tests/run.sh ] && ./tests/run.sh" + - shell: "[ -e tests/run.sh ] && bash -n ./tests/run.sh" diff --git a/jjb/fuel/fuel-build.sh b/jjb/fuel/fuel-build.sh index 42e373cbc..eaf1f83e7 100755 --- a/jjb/fuel/fuel-build.sh +++ b/jjb/fuel/fuel-build.sh @@ -31,14 +31,17 @@ fi # get current SHA1 CURRENT_SHA1=$(git rev-parse HEAD) -if [[ "$CURRENT_SHA1" == "$LATEST_ISO_SHA1" ]]; then +# set FORCE_BUILD to false for non-daily builds +FORCE_BUILD=${FORCE_BUILD:-false} + +if [[ "$CURRENT_SHA1" == "$LATEST_ISO_SHA1" && "$FORCE_BUILD" == "false" ]]; then echo "An ISO has already been built for this commit" echo " $LATEST_ISO_URL" echo "Nothing new to build. Exiting." touch $WORKSPACE/.noupload exit 0 else - echo "This commit has not been built yet. Proceeding with the build." + echo "This commit has not been built yet or forced build! Proceeding with the build." /bin/rm -f $LATEST_ISO_PROPERTIES echo fi diff --git a/jjb/fuel/fuel-ci-jobs.yml b/jjb/fuel/fuel-ci-jobs.yml index 33c54eced..e1816b528 100644 --- a/jjb/fuel/fuel-ci-jobs.yml +++ b/jjb/fuel/fuel-ci-jobs.yml @@ -35,6 +35,8 @@ #-------------------------------- # master #-------------------------------- + - opnfv-jump-2: + <<: *master - ericsson-pod1: <<: *master - ericsson-pod2: @@ -46,22 +48,23 @@ #-------------------------------- scenario: # HA scenarios - - 'os-onos-nofeature-ha': -# auto-trigger-name: 'fuel-{scenario}-{pod}-trigger' - auto-trigger-name: 'brahmaputra-trigger-daily-disabled' + - 'os-nosdn-nofeature-ha': + auto-trigger-name: 'fuel-{scenario}-{pod}-{stream}-trigger' - 'os-odl_l2-nofeature-ha': - auto-trigger-name: 'brahmaputra-trigger-daily-disabled' + auto-trigger-name: 'fuel-{scenario}-{pod}-{stream}-trigger' - 'os-odl_l3-nofeature-ha': - auto-trigger-name: 'brahmaputra-trigger-daily-disabled' + auto-trigger-name: 'fuel-{scenario}-{pod}-{stream}-trigger' + - 'os-onos-nofeature-ha': + auto-trigger-name: 'fuel-{scenario}-{pod}-{stream}-trigger' - 'os-odl_l2-bgpvpn-ha': - auto-trigger-name: 'brahmaputra-trigger-daily-disabled' - - 'os-nosdn-nofeature-ha': - auto-trigger-name: 'brahmaputra-trigger-daily-disabled' + auto-trigger-name: 'fuel-{scenario}-{pod}-{stream}-trigger' + - 'os-odl_l2-sfc-ha': + auto-trigger-name: 'fuel-{scenario}-{pod}-{stream}-trigger' - 'os-nosdn-kvm-ha': - auto-trigger-name: 'brahmaputra-trigger-daily-disabled' - - 'os-nosdn-kvm_ovs-ha': - auto-trigger-name: 'brahmaputra-trigger-daily-disabled' + auto-trigger-name: 'fuel-{scenario}-{pod}-{stream}-trigger' - 'os-nosdn-ovs-ha': + auto-trigger-name: 'fuel-{scenario}-{pod}-{stream}-trigger' + - 'os-nosdn-kvm_ovs-ha': auto-trigger-name: 'brahmaputra-trigger-daily-disabled' - 'os-nosdn-vlan-ha': auto-trigger-name: 'brahmaputra-trigger-daily-disabled' @@ -82,6 +85,8 @@ auto-trigger-name: 'brahmaputra-trigger-daily-disabled' - 'os-odl_l2-bgpvpn-noha': auto-trigger-name: 'brahmaputra-trigger-daily-disabled' + - 'os-odl_l2-sfc-noha': + auto-trigger-name: 'brahmaputra-trigger-daily-disabled' jobs: - 'fuel-{scenario}-{pod}-daily-{stream}' @@ -134,7 +139,7 @@ same-node: true block: true - trigger-builds: - - project: 'functest-fuel-{pod}-daily-{stream}' + - project: 'yardstick-fuel-{pod}-daily-{stream}' current-parameters: false predefined-parameters: DEPLOY_SCENARIO={scenario} @@ -145,7 +150,7 @@ failure-threshold: 'never' unstable-threshold: 'FAILURE' - trigger-builds: - - project: 'yardstick-fuel-{pod}-daily-{stream}' + - project: 'functest-fuel-{pod}-daily-{stream}' current-parameters: false predefined-parameters: DEPLOY_SCENARIO={scenario} @@ -226,74 +231,319 @@ ######################## # trigger macros ######################## -# os-onos3-nofeature-ha trigger +# os-nosdn-nofeature-ha trigger +# CI PODs +#----------------------------------------------- +# LF POD2 Triggers running against master branch +#----------------------------------------------- +- trigger: + name: 'fuel-os-nosdn-nofeature-ha-opnfv-jump-2-master-trigger' + triggers: + - timed: '0 0 * * *' - trigger: - name: 'fuel-os-onos-nofeature-ha-opnfv-jump-2-trigger' + name: 'fuel-os-odl_l2-nofeature-ha-opnfv-jump-2-master-trigger' triggers: - - timed: '0 20 * * *' + - timed: '0 3 * * *' - trigger: - name: 'fuel-os-onos-nofeature-ha-ericsson-pod1-trigger' + name: 'fuel-os-odl_l3-nofeature-ha-opnfv-jump-2-master-trigger' + triggers: + - timed: '0 6 * * *' +- trigger: + name: 'fuel-os-onos-nofeature-ha-opnfv-jump-2-master-trigger' + triggers: + - timed: '0 9 * * *' +- trigger: + name: 'fuel-os-odl_l2-bgpvpn-ha-opnfv-jump-2-master-trigger' + triggers: + - timed: '0 12 * * *' +- trigger: + name: 'fuel-os-odl_l2-sfc-ha-opnfv-jump-2-master-trigger' + triggers: + - timed: '0 15 * * *' +- trigger: + name: 'fuel-os-nosdn-kvm-ha-opnfv-jump-2-master-trigger' + triggers: + - timed: '0 18 * * *' +- trigger: + name: 'fuel-os-nosdn-ovs-ha-opnfv-jump-2-master-trigger' + triggers: + - timed: '0 21 * * *' +- trigger: + name: 'fuel-os-nosdn-kvm-noha-opnfv-jump-2-master-trigger' triggers: - timed: '' +#----------------------------------------------- +# Ericsson POD2 Triggers running against brahmaputra branch +#----------------------------------------------- - trigger: - name: 'fuel-os-onos-nofeature-ha-ericsson-pod2-trigger' + name: 'fuel-os-nosdn-nofeature-ha-ericsson-pod2-brahmaputra-trigger' + triggers: + - timed: '0 12 * * *' +- trigger: + name: 'fuel-os-odl_l2-nofeature-ha-ericsson-pod2-brahmaputra-trigger' + triggers: + - timed: '0 15 * * *' +- trigger: + name: 'fuel-os-odl_l3-nofeature-ha-ericsson-pod2-brahmaputra-trigger' + triggers: + - timed: '0 18 * * *' +- trigger: + name: 'fuel-os-onos-nofeature-ha-ericsson-pod2-brahmaputra-trigger' + triggers: + - timed: '0 21 * * *' +- trigger: + name: 'fuel-os-odl_l2-bgpvpn-ha-ericsson-pod2-brahmaputra-trigger' + triggers: + - timed: '0 0 * * *' +- trigger: + name: 'fuel-os-odl_l2-sfc-ha-ericsson-pod2-brahmaputra-trigger' + triggers: + - timed: '0 3 * * *' +- trigger: + name: 'fuel-os-nosdn-kvm-ha-ericsson-pod2-brahmaputra-trigger' + triggers: + - timed: '0 6 * * *' +- trigger: + name: 'fuel-os-nosdn-ovs-ha-ericsson-pod2-brahmaputra-trigger' + triggers: + - timed: '0 9 * * *' +- trigger: + name: 'fuel-os-nosdn-kvm-noha-ericsson-pod2-brahmaputra-trigger' + triggers: + - timed: '' +#----------------------------------------------- +# Triggers for other PODs +#----------------------------------------------- +- trigger: + name: 'fuel-os-nosdn-nofeature-ha-ericsson-pod1-master-trigger' + triggers: + - timed: '' +- trigger: + name: 'fuel-os-nosdn-nofeature-ha-ericsson-pod2-master-trigger' + triggers: + - timed: '' +- trigger: + name: 'fuel-os-nosdn-nofeature-ha-virtual-master-trigger' + triggers: + - timed: '' +- trigger: + name: 'fuel-os-nosdn-nofeature-ha-opnfv-jump-2-brahmaputra-trigger' + triggers: + - timed: '' +- trigger: + name: 'fuel-os-nosdn-nofeature-ha-ericsson-pod1-brahmaputra-trigger' + triggers: + - timed: '' +- trigger: + name: 'fuel-os-nosdn-nofeature-ha-virtual-brahmaputra-trigger' + triggers: + - timed: '' + +# os-nosdn-kvm-ha trigger +- trigger: + name: 'fuel-os-nosdn-kvm-ha-ericsson-pod1-master-trigger' + triggers: + - timed: '' +- trigger: + name: 'fuel-os-nosdn-kvm-ha-ericsson-pod2-master-trigger' + triggers: + - timed: '' +- trigger: + name: 'fuel-os-nosdn-kvm-ha-virtual-master-trigger' triggers: - timed: '' - trigger: - name: 'fuel-os-onos-nofeature-ha-virtual-trigger' + name: 'fuel-os-nosdn-kvm-ha-opnfv-jump-2-brahmaputra-trigger' + triggers: + - timed: '' +- trigger: + name: 'fuel-os-nosdn-kvm-ha-ericsson-pod1-brahmaputra-trigger' + triggers: + - timed: '' +- trigger: + name: 'fuel-os-nosdn-kvm-ha-virtual-brahmaputra-trigger' triggers: - timed: '' # os-odl_l2-nofeature-ha trigger - trigger: - name: 'fuel-os-odl_l2-nofeature-ha-opnfv-jump-2-trigger' + name: 'fuel-os-odl_l2-nofeature-ha-ericsson-pod1-master-trigger' triggers: - - timed: '0 0 * * *' + - timed: '' - trigger: - name: 'fuel-os-odl_l2-nofeature-ha-ericsson-pod1-trigger' + name: 'fuel-os-odl_l2-nofeature-ha-ericsson-pod2-master-trigger' triggers: - timed: '' - trigger: - name: 'fuel-os-odl_l2-nofeature-ha-ericsson-pod2-trigger' + name: 'fuel-os-odl_l2-nofeature-ha-virtual-master-trigger' triggers: - timed: '' - trigger: - name: 'fuel-os-odl_l2-nofeature-ha-virtual-trigger' + name: 'fuel-os-odl_l2-nofeature-ha-opnfv-jump-2-brahmaputra-trigger' + triggers: + - timed: '' +- trigger: + name: 'fuel-os-odl_l2-nofeature-ha-ericsson-pod1-brahmaputra-trigger' + triggers: + - timed: '' +- trigger: + name: 'fuel-os-odl_l2-nofeature-ha-virtual-brahmaputra-trigger' triggers: - timed: '' # os-odl_l3-nofeature-ha trigger - trigger: - name: 'fuel-os-odl_l3-nofeature-ha-opnfv-jump-2-trigger' + name: 'fuel-os-odl_l3-nofeature-ha-ericsson-pod1-master-trigger' + triggers: + - timed: '' +- trigger: + name: 'fuel-os-odl_l3-nofeature-ha-ericsson-pod2-master-trigger' + triggers: + - timed: '' +- trigger: + name: 'fuel-os-odl_l3-nofeature-ha-virtual-master-trigger' + triggers: + - timed: '' +- trigger: + name: 'fuel-os-odl_l3-nofeature-ha-opnfv-jump-2-brahmaputra-trigger' + triggers: + - timed: '' +- trigger: + name: 'fuel-os-odl_l3-nofeature-ha-ericsson-pod1-brahmaputra-trigger' + triggers: + - timed: '' +- trigger: + name: 'fuel-os-odl_l3-nofeature-ha-virtual-brahmaputra-trigger' + triggers: + - timed: '' + +# os-onos-nofeature-ha trigger +- trigger: + name: 'fuel-os-onos-nofeature-ha-ericsson-pod1-master-trigger' + triggers: + - timed: '' +- trigger: + name: 'fuel-os-onos-nofeature-ha-ericsson-pod2-master-trigger' + triggers: + - timed: '' +- trigger: + name: 'fuel-os-onos-nofeature-ha-virtual-master-trigger' + triggers: + - timed: '' +- trigger: + name: 'fuel-os-onos-nofeature-ha-opnfv-jump-2-brahmaputra-trigger' + triggers: + - timed: '' +- trigger: + name: 'fuel-os-onos-nofeature-ha-ericsson-pod1-brahmaputra-trigger' + triggers: + - timed: '' +- trigger: + name: 'fuel-os-onos-nofeature-ha-virtual-brahmaputra-trigger' + triggers: + - timed: '' + + +# os-nosdn-ovs-ha trigger +- trigger: + name: 'fuel-os-nosdn-ovs-ha-ericsson-pod1-master-trigger' + triggers: + - timed: '' +- trigger: + name: 'fuel-os-nosdn-ovs-ha-ericsson-pod2-master-trigger' + triggers: + - timed: '' +- trigger: + name: 'fuel-os-nosdn-ovs-ha-virtual-master-trigger' triggers: - - timed: '0 4 * * *' + - timed: '' - trigger: - name: 'fuel-os-odl_l3-nofeature-ha-ericsson-pod1-trigger' + name: 'fuel-os-nosdn-ovs-ha-opnfv-jump-2-brahmaputra-trigger' triggers: - timed: '' - trigger: - name: 'fuel-os-odl_l3-nofeature-ha-ericsson-pod2-trigger' + name: 'fuel-os-nosdn-ovs-ha-ericsson-pod1-brahmaputra-trigger' triggers: - timed: '' - trigger: - name: 'fuel-os-odl_l3-nofeature-ha-virtual-trigger' + name: 'fuel-os-nosdn-ovs-ha-virtual-brahmaputra-trigger' triggers: - timed: '' # os-odl_l2-bgpvpn-ha trigger - trigger: - name: 'fuel-os-odl_l2-bgpvpn-ha-opnfv-jump-2-trigger' + name: 'fuel-os-odl_l2-bgpvpn-ha-ericsson-pod1-master-trigger' + triggers: + - timed: '' +- trigger: + name: 'fuel-os-odl_l2-bgpvpn-ha-ericsson-pod2-master-trigger' + triggers: + - timed: '' +- trigger: + name: 'fuel-os-odl_l2-bgpvpn-ha-virtual-master-trigger' + triggers: + - timed: '' +- trigger: + name: 'fuel-os-odl_l2-bgpvpn-ha-opnfv-jump-2-brahmaputra-trigger' + triggers: + - timed: '' +- trigger: + name: 'fuel-os-odl_l2-bgpvpn-ha-ericsson-pod1-brahmaputra-trigger' + triggers: + - timed: '' +- trigger: + name: 'fuel-os-odl_l2-bgpvpn-ha-virtual-brahmaputra-trigger' + triggers: + - timed: '' + +# os-odl_l2-sfc-ha trigger +- trigger: + name: 'fuel-os-odl_l2-sfc-ha-ericsson-pod1-master-trigger' + triggers: + - timed: '' +- trigger: + name: 'fuel-os-odl_l2-sfc-ha-ericsson-pod2-master-trigger' triggers: - - timed: '0 8 * * *' + - timed: '' +- trigger: + name: 'fuel-os-odl_l2-sfc-ha-virtual-master-trigger' + triggers: + - timed: '' +- trigger: + name: 'fuel-os-odl_l2-sfc-ha-opnfv-jump-2-brahmaputra-trigger' + triggers: + - timed: '' +- trigger: + name: 'fuel-os-odl_l2-sfc-ha-ericsson-pod1-brahmaputra-trigger' + triggers: + - timed: '' +- trigger: + name: 'fuel-os-odl_l2-sfc-ha-virtual-brahmaputra-trigger' + triggers: + - timed: '' + +# os-nosdn-kvm-ha trigger +- trigger: + name: 'fuel-os-nosdn-kvm-noha-ericsson-pod1-master-trigger' + triggers: + - timed: '' +- trigger: + name: 'fuel-os-nosdn-kvm-noha-ericsson-pod2-master-trigger' + triggers: + - timed: '' +- trigger: + name: 'fuel-os-nosdn-kvm-noha-virtual-master-trigger' + triggers: + - timed: '' - trigger: - name: 'fuel-os-odl_l2-bgpvpn-ha-ericsson-pod1-trigger' + name: 'fuel-os-nosdn-kvm-noha-opnfv-jump-2-brahmaputra-trigger' triggers: - timed: '' - trigger: - name: 'fuel-os-odl_l2-bgpvpn-ha-ericsson-pod2-trigger' + name: 'fuel-os-nosdn-kvm-noha-ericsson-pod1-brahmaputra-trigger' triggers: - timed: '' - trigger: - name: 'fuel-os-odl_l2-bgpvpn-ha-virtual-trigger' + name: 'fuel-os-nosdn-kvm-noha-virtual-brahmaputra-trigger' triggers: - timed: '' diff --git a/jjb/fuel/fuel-deploy.sh b/jjb/fuel/fuel-deploy.sh index 62f2340a8..bab6151d8 100755 --- a/jjb/fuel/fuel-deploy.sh +++ b/jjb/fuel/fuel-deploy.sh @@ -88,4 +88,57 @@ $DEPLOY_COMMAND echo echo "--------------------------------------------------------" -echo "Done!" +echo "Deployment is done successfully!" + +# Quick and dirty fix for SFC scenatio - will be fixed properly post-release +if [[ ! "$DEPLOY_SCENARIO" =~ "os-odl_l2-sfc" ]]; then + exit 0 +fi + +echo +echo "SFC Scenario is deployed" +echo + +# The stuff below is here temporarily and will be fixed once the release is out +# The stuff below is here temporarily and will be fixed once the release is out +export FUEL_MASTER_IP=10.20.0.2 +export TACKER_SCRIPT_URL="https://git.opnfv.org/cgit/fuel/plain/prototypes/sfc_tacker/poc.tacker-up.sh?h=${GIT_BRANCH#*/}" +export CONTROLLER_NODE_IP=$(sshpass -pr00tme /usr/bin/ssh -o UserKnownHostsFile=/dev/null \ + -o StrictHostKeyChecking=no root@$FUEL_MASTER_IP 'fuel node list' | \ + grep opendaylight | cut -d'|' -f5) + +# we can't do much if we do not have the controller IP +if [[ ! "$CONTROLLER_NODE_IP" =~ "10.20.0" ]]; then + echo "Unable to retrieve controller IP" + exit 1 +fi + +echo +echo "Copying and executing poc.tacker-up.sh script on controller node $CONTROLLER_NODE_IP" +echo + +expect << END +spawn /usr/bin/ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -l root $::env(FUEL_MASTER_IP) +expect { + -re ".*sword.*" { + exp_send "r00tme\r" + } +} +expect "# " +send "/usr/bin/ssh -l root $::env(CONTROLLER_NODE_IP)\r" +expect "# " +send "sudo apt-get install -y git\r" +expect "# " +send "/bin/mkdir -p /root/sfc-poc && cd /root/sfc-poc\r" +expect "# " +send "git clone https://gerrit.opnfv.org/gerrit/fuel && cd fuel\r" +expect "# " +send "git fetch https://gerrit.opnfv.org/gerrit/fuel refs/changes/97/10597/2 && git checkout FETCH_HEAD\r" +expect "# " +send "/bin/bash /root/sfc-poc/fuel/prototypes/sfc_tacker/poc.tacker-up.sh\r" +expect "# " +send "exit\r" +expect "Connection to $::env(CONTROLLER_NODE_IP) closed. " +send "exit\r" +expect "Connection to $::env(FUEL_MASTER_IP) closed. " +END diff --git a/jjb/fuel/fuel-download-artifact.sh b/jjb/fuel/fuel-download-artifact.sh index a3769b112..d78ddc5ba 100755 --- a/jjb/fuel/fuel-download-artifact.sh +++ b/jjb/fuel/fuel-download-artifact.sh @@ -8,7 +8,6 @@ # http://www.apache.org/licenses/LICENSE-2.0 ############################################################################## set -o errexit -set -o nounset set -o pipefail if [[ "$JOB_NAME" =~ "merge" ]]; then @@ -31,15 +30,22 @@ source latest.properties OPNFV_ARTIFACT=${OPNFV_ARTIFACT_URL/*\/} echo "Using $OPNFV_ARTIFACT for deployment" -# check if we already have the ISO to avoid redownload -# disabled for the timebeing - needs adjustments -#ISO_STORE=$HOME/opnfv/iso_store/fuel -#if [[ -f "$ISO_STORE/$OPNFV_ARTIFACT" ]]; then -# echo "ISO already exists. Skipping the download" -# ln -s $ISO_STORE/$OPNFV_ARTIFACT $WORKSPACE/opnfv.iso -# ls -al $WORKSPACE/opnfv.iso -# exit 0 -#fi +# using ISOs for verify & merge jobs from local storage will be enabled later +if [[ ! "$JOB_NAME" =~ (verify|merge) ]]; then + # check if we already have the ISO to avoid redownload + ISOSTORE="/iso_mount/opnfv_ci/${GIT_BRANCH##*/}" + if [[ -f "$ISOSTORE/$OPNFV_ARTIFACT" ]]; then + echo "ISO exists locally. Skipping the download and using the file from ISO store" + ln -s $ISOSTORE/$OPNFV_ARTIFACT $WORKSPACE/opnfv.iso + echo "--------------------------------------------------------" + echo + ls -al $WORKSPACE/opnfv.iso + echo + echo "--------------------------------------------------------" + echo "Done!" + exit 0 + fi +fi # log info to console echo "Downloading the $INSTALLER_TYPE artifact using URL http://$OPNFV_ARTIFACT_URL" diff --git a/jjb/fuel/fuel-project-jobs.yml b/jjb/fuel/fuel-project-jobs.yml index e42aa9012..d1855f86e 100644 --- a/jjb/fuel/fuel-project-jobs.yml +++ b/jjb/fuel/fuel-project-jobs.yml @@ -44,6 +44,12 @@ project: '{project}' - 'ericsson-build-defaults' - '{installer}-defaults' + - choice: + name: FORCE_BUILD + choices: + - 'false' + - 'true' + description: "Force build even if there is no changes in fuel repo. Default false" - fuel-project-parameter: gs-pathname: '{gs-pathname}' diff --git a/jjb/fuel/fuel-upload-artifact.sh b/jjb/fuel/fuel-upload-artifact.sh index cf74eb459..47cf8985c 100755 --- a/jjb/fuel/fuel-upload-artifact.sh +++ b/jjb/fuel/fuel-upload-artifact.sh @@ -7,7 +7,6 @@ # which accompanies this distribution, and is available at # http://www.apache.org/licenses/LICENSE-2.0 ############################################################################## -set -o nounset set -o pipefail # check if we built something @@ -17,14 +16,30 @@ if [ -f $WORKSPACE/.noupload ]; then exit 0 fi -# log info to console -echo -echo "Uploading the $INSTALLER_TYPE artifact. This could take some time..." -echo - # source the opnfv.properties to get ARTIFACT_VERSION source $WORKSPACE/opnfv.properties +# storing ISOs for verify & merge jobs will be done once we get the disk array +if [[ ! "$JOB_NAME" =~ (verify|merge) ]]; then + # store ISO locally on NFS first + ISOSTORE="/iso_mount/opnfv_ci/${GIT_BRANCH##*/}" + if [[ -d "$ISOSTORE" ]]; then + # remove all but most recent 5 ISOs first to keep iso_mount clean & tidy + cd $ISOSTORE + ls -tp | grep -v '/' | tail -n +6 | xargs -d '\n' /bin/rm -f -- + + # store ISO + echo "Storing $INSTALLER_TYPE artifact on NFS..." + /bin/cp -f $BUILD_DIRECTORY/opnfv-$OPNFV_ARTIFACT_VERSION.iso \ + $ISOSTORE/opnfv-$OPNFV_ARTIFACT_VERSION.iso + fi +fi + +# log info to console +echo "Uploading $INSTALLER_TYPE artifact. This could take some time..." +echo + +cd $WORKSPACE # upload artifact and additional files to google storage gsutil cp $BUILD_DIRECTORY/opnfv-$OPNFV_ARTIFACT_VERSION.iso \ gs://$GS_URL/opnfv-$OPNFV_ARTIFACT_VERSION.iso > gsutil.iso.log 2>&1 diff --git a/jjb/functest/functest-ci-jobs.yml b/jjb/functest/functest-ci-jobs.yml index 2e95e9f12..90b5a67d4 100644 --- a/jjb/functest/functest-ci-jobs.yml +++ b/jjb/functest/functest-ci-jobs.yml @@ -13,10 +13,12 @@ stream: master branch: '{stream}' gs-pathname: '' + docker-tag: 'latest' brahmaputra: &brahmaputra stream: brahmaputra branch: 'stable/{stream}' gs-pathname: '/{stream}' + docker-tag: 'brahmaputra.1.0' #-------------------------------- # POD, INSTALLER, AND BRANCH MAPPING #-------------------------------- @@ -26,12 +28,12 @@ - opnfv-jump-1: installer: apex <<: *brahmaputra - - opnfv-jump-2: - installer: fuel - <<: *brahmaputra - intel-pod5: installer: joid <<: *brahmaputra + - orange-pod2: + installer: joid + <<: *brahmaputra - huawei-us-deploy-bare-1: installer: compass <<: *brahmaputra @@ -41,6 +43,9 @@ - ericsson-pod2: installer: fuel <<: *brahmaputra + - opnfv-jump-2: + installer: fuel + <<: *brahmaputra - virtual: installer: fuel <<: *brahmaputra @@ -53,6 +58,9 @@ #-------------------------------- # master #-------------------------------- + - opnfv-jump-2: + installer: fuel + <<: *master - intel-pod6: installer: joid <<: *master @@ -65,9 +73,6 @@ - ericsson-pod1: installer: fuel <<: *master - - ericsson-pod2: - installer: fuel - <<: *master - orange-test1: installer: fuel <<: *master @@ -108,6 +113,9 @@ wrappers: - build-name: name: '$BUILD_NUMBER Suite: $FUNCTEST_SUITE_NAME Scenario: $DEPLOY_SCENARIO' + - timeout: + timeout: 400 + abort: true parameters: - project-parameter: @@ -118,6 +126,10 @@ - string: name: DEPLOY_SCENARIO default: 'os-odl_l2-nofeature-ha' + - string: + name: DOCKER_TAG + default: '{docker-tag}' + description: 'Tag to pull docker image' - functest-parameter: gs-pathname: '{gs-pathname}' @@ -199,12 +211,10 @@ - shell: | #!/bin/bash set +e - flag="" - if [ "${PUSH_RESULTS_TO_DB}" == "true" ]; then - flag="-r" - fi + flags="-s" + [[ "$PUSH_RESULTS_TO_DB" == "true" ]] && flags+=" -r" echo "Functest: run $FUNCTEST_SUITE_NAME" - cmd="${FUNCTEST_REPO_DIR}/docker/run_tests.sh --test $FUNCTEST_SUITE_NAME ${flag}" + cmd="${FUNCTEST_REPO_DIR}/docker/run_tests.sh --test $FUNCTEST_SUITE_NAME ${flags}" container_id=$(docker ps -a | grep opnfv/functest | awk '{print $1}' | head -1) docker exec $container_id $cmd @@ -214,12 +224,9 @@ - shell: | #!/bin/bash set +e - flag="" - if [ "${PUSH_RESULTS_TO_DB}" == "true" ]; then - flag="-r" - fi - echo "Functest: running all the tests" - cmd="${FUNCTEST_REPO_DIR}/docker/run_tests.sh ${flag}" + flags="-s" + [[ "$PUSH_RESULTS_TO_DB" == "true" ]] && flags+=" -r" + cmd="${FUNCTEST_REPO_DIR}/docker/run_tests.sh ${flags}" container_id=$(docker ps -a | grep opnfv/functest | awk '{print $1}' | head -1) docker exec $container_id $cmd @@ -249,14 +256,14 @@ echo "Functest: Start Docker and prepare environment" envs="-e INSTALLER_TYPE=${INSTALLER_TYPE} -e INSTALLER_IP=${INSTALLER_IP} \ -e NODE_NAME=${NODE_NAME} -e DEPLOY_SCENARIO=${DEPLOY_SCENARIO} \ - -e CI_DEBUG=${CI_DEBUG}" - - dir_result="${HOME}/opnfv/functest/results/" + -e BUILD_TAG=${BUILD_TAG} -e CI_DEBUG=${CI_DEBUG}" + branch=${GIT_BRANCH##*/} + dir_result="${HOME}/opnfv/functest/results/${branch}" mkdir -p ${dir_result} sudo rm -rf ${dir_result}/* res_volume="-v ${dir_result}:/home/opnfv/functest/results" - docker pull opnfv/functest:latest >$redirect + docker pull opnfv/functest:$DOCKER_TAG >$redirect cmd="sudo docker run --privileged=true -id ${envs} ${labconfig} ${sshkey} ${res_volume} opnfv/functest:latest /bin/bash" echo "Functest: Running docker run command: ${cmd}" ${cmd} diff --git a/jjb/joid/joid-ci-jobs.yml b/jjb/joid/joid-ci-jobs.yml index 909a885ab..685e6fb6c 100644 --- a/jjb/joid/joid-ci-jobs.yml +++ b/jjb/joid/joid-ci-jobs.yml @@ -28,6 +28,8 @@ pod: - intel-pod5: <<: *brahmaputra + - orange-pod2: + <<: *brahmaputra - virtual: <<: *brahmaputra #-------------------------------- @@ -47,13 +49,13 @@ - 'os-nosdn-nofeature-noha': auto-trigger-name: 'brahmaputra-trigger-daily-disabled' - 'os-nosdn-nofeature-ha': - auto-trigger-name: 'brahmaputra-trigger-daily-disabled' + auto-trigger-name: 'joid-{scenario}-{pod}-{stream}-trigger' - 'os-odl_l2-nofeature-ha': - auto-trigger-name: 'joid-{scenario}-{pod}-trigger' + auto-trigger-name: 'joid-{scenario}-{pod}-{stream}-trigger' + - 'os-onos-nofeature-ha': + auto-trigger-name: 'joid-{scenario}-{pod}-{stream}-trigger' - 'os-odl_l2-nofeature-noha': auto-trigger-name: 'brahmaputra-trigger-daily-disabled' - - 'os-onos-nofeature-ha': - auto-trigger-name: 'joid-{scenario}-{pod}-trigger' - 'os-onos-nofeature-noha': auto-trigger-name: 'brahmaputra-trigger-daily-disabled' - 'os-ocl-nofeature-ha': @@ -190,43 +192,134 @@ ######################## # trigger macros ######################## +# os-nosdn-nofeature-ha trigger - branch: master - trigger: - name: 'joid-os-odl_l2-nofeature-ha-intel-pod5-trigger' + name: 'joid-os-nosdn-nofeature-ha-intel-pod5-master-trigger' triggers: - - timed: '0 2 * * *' + - timed: '' +- trigger: + name: 'joid-os-nosdn-nofeature-ha-intel-pod6-master-trigger' + triggers: + - timed: '#0 2 * * *' +- trigger: + name: 'joid-os-nosdn-nofeature-ha-orange-pod2-master-trigger' + triggers: + - timed: '' +- trigger: + name: 'joid-os-nosdn-nofeature-ha-juniper-pod1-master-trigger' + triggers: + - timed: '' +- trigger: + name: 'joid-os-nosdn-nofeature-ha-virtual-master-trigger' + triggers: + - timed: '' +# os-nosdn-nofeature-ha trigger - branch: stable/brahmaputra - trigger: - name: 'joid-os-odl_l2-nofeature-ha-intel-pod6-trigger' + name: 'joid-os-nosdn-nofeature-ha-intel-pod5-brahmaputra-trigger' triggers: - timed: '0 2 * * *' - trigger: - name: 'joid-os-odl_l2-nofeature-ha-orange-pod2-trigger' + name: 'joid-os-nosdn-nofeature-ha-intel-pod6-brahmaputra-trigger' triggers: - timed: '' - trigger: - name: 'joid-os-odl_l2-nofeature-ha-juniper-pod1-trigger' + name: 'joid-os-nosdn-nofeature-ha-orange-pod2-brahmaputra-trigger' triggers: - timed: '' - trigger: - name: 'joid-os-odl_l2-nofeature-ha-virtual-trigger' + name: 'joid-os-nosdn-nofeature-ha-juniper-pod1-brahmaputra-trigger' triggers: - timed: '' - trigger: - name: 'joid-os-onos-nofeature-ha-intel-pod5-trigger' + name: 'joid-os-nosdn-nofeature-ha-virtual-brahmaputra-trigger' triggers: - - timed: '0 14 * * *' + - timed: '' + + +# os-odl_l2-nofeature-ha trigger - branch: master - trigger: - name: 'joid-os-onos-nofeature-ha-intel-pod6-trigger' + name: 'joid-os-odl_l2-nofeature-ha-intel-pod5-master-trigger' triggers: - - timed: '0 14 * * *' + - timed: '' +- trigger: + name: 'joid-os-odl_l2-nofeature-ha-intel-pod6-master-trigger' + triggers: + - timed: '#0 10 * * *' +- trigger: + name: 'joid-os-odl_l2-nofeature-ha-orange-pod2-master-trigger' + triggers: + - timed: '' +- trigger: + name: 'joid-os-odl_l2-nofeature-ha-juniper-pod1-master-trigger' + triggers: + - timed: '' +- trigger: + name: 'joid-os-odl_l2-nofeature-ha-virtual-master-trigger' + triggers: + - timed: '' + +# os-odl_l2-nofeature-ha trigger - branch: stable/brahmaputra +- trigger: + name: 'joid-os-odl_l2-nofeature-ha-intel-pod5-brahmaputra-trigger' + triggers: + - timed: '0 10 * * *' +- trigger: + name: 'joid-os-odl_l2-nofeature-ha-intel-pod6-brahmaputra-trigger' + triggers: + - timed: '' +- trigger: + name: 'joid-os-odl_l2-nofeature-ha-orange-pod2-brahmaputra-trigger' + triggers: + - timed: '' +- trigger: + name: 'joid-os-odl_l2-nofeature-ha-juniper-pod1-brahmaputra-trigger' + triggers: + - timed: '' +- trigger: + name: 'joid-os-odl_l2-nofeature-ha-virtual-brahmaputra-trigger' + triggers: + - timed: '' + +# os-onos-nofeature-ha trigger - branch: master +- trigger: + name: 'joid-os-onos-nofeature-ha-intel-pod5-master-trigger' + triggers: + - timed: '' +- trigger: + name: 'joid-os-onos-nofeature-ha-intel-pod6-master-trigger' + triggers: + - timed: '#0 18 * * *' +- trigger: + name: 'joid-os-onos-nofeature-ha-orange-pod2-master-trigger' + triggers: + - timed: '' +- trigger: + name: 'joid-os-onos-nofeature-ha-juniper-pod1-master-trigger' + triggers: + - timed: '' +- trigger: + name: 'joid-os-onos-nofeature-ha-virtual-master-trigger' + triggers: + - timed: '' + +# os-onos-nofeature-ha trigger - branch: stable/brahmaputra +- trigger: + name: 'joid-os-onos-nofeature-ha-intel-pod5-brahmaputra-trigger' + triggers: + - timed: '0 18 * * *' +- trigger: + name: 'joid-os-onos-nofeature-ha-intel-pod6-brahmaputra-trigger' + triggers: + - timed: '' - trigger: - name: 'joid-os-onos-nofeature-ha-orange-pod2-trigger' + name: 'joid-os-onos-nofeature-ha-orange-pod2-brahmaputra-trigger' triggers: - timed: '' - trigger: - name: 'joid-os-onos-nofeature-ha-juniper-pod1-trigger' + name: 'joid-os-onos-nofeature-ha-juniper-pod1-brahmaputra-trigger' triggers: - timed: '' - trigger: - name: 'joid-os-onos-nofeature-ha-virtual-trigger' + name: 'joid-os-onos-nofeature-ha-virtual-brahmaputra-trigger' triggers: - timed: '' diff --git a/jjb/opnfv/installer-params.yml b/jjb/opnfv/installer-params.yml index e03b4749e..57ca9864e 100644 --- a/jjb/opnfv/installer-params.yml +++ b/jjb/opnfv/installer-params.yml @@ -47,7 +47,7 @@ description: 'Installer used for deploying OPNFV on this POD' - string: name: EXTERNAL_NETWORK - default: 'net04_ext' + default: 'admin_floating_net' description: 'external network for test' - parameter: diff --git a/jjb/opnfv/opnfv-docker.sh b/jjb/opnfv/opnfv-docker.sh index 4089a6ff3..2b4ca907a 100644 --- a/jjb/opnfv/opnfv-docker.sh +++ b/jjb/opnfv/opnfv-docker.sh @@ -78,11 +78,13 @@ echo "Current branch: $branch" if [[ "$branch" == "master" ]]; then DOCKER_TAG="master" + DOCKER_BRANCH_TAG="latest" else git clone https://gerrit.opnfv.org/gerrit/releng $WORKSPACE/releng DOCKER_TAG=$($WORKSPACE/releng/utils/calculate_version.sh -t docker \ -n $DOCKER_REPO_NAME) + DOCKER_BRANCH_TAG="stable" ret_val=$? if [[ $ret_val -ne 0 ]]; then @@ -94,11 +96,11 @@ echo "Tag version to be build and pushed: $DOCKER_TAG" # Start the build -echo "Building docker image: $DOCKER_REPO_NAME:latest" +echo "Building docker image: $DOCKER_REPO_NAME:$DOCKER_BRANCH_TAG" -docker build --no-cache -t $DOCKER_REPO_NAME:latest . +docker build --no-cache -t $DOCKER_REPO_NAME:$DOCKER_BRANCH_TAG . echo "Creating tag '$DOCKER_TAG'..." -docker tag -f $DOCKER_REPO_NAME:latest $DOCKER_REPO_NAME:$DOCKER_TAG +docker tag -f $DOCKER_REPO_NAME:$DOCKER_BRANCH_TAG $DOCKER_REPO_NAME:$DOCKER_TAG # list the images echo "Available images are:" @@ -110,8 +112,8 @@ if [[ "$PUSH_IMAGE" == "true" ]]; then echo "--------------------------------------------------------" echo # Push to the Dockerhub repository - echo "Pushing $DOCKER_REPO_NAME:latest ..." - docker push $DOCKER_REPO_NAME:latest + echo "Pushing $DOCKER_REPO_NAME:$DOCKER_BRANCH_TAG ..." + docker push $DOCKER_REPO_NAME:$DOCKER_BRANCH_TAG echo "Pushing $DOCKER_REPO_NAME:$DOCKER_TAG ..." docker push $DOCKER_REPO_NAME:$DOCKER_TAG diff --git a/jjb/opnfv/opnfv-docker.yml b/jjb/opnfv/opnfv-docker.yml index 04dcf832f..135fb493a 100644 --- a/jjb/opnfv/opnfv-docker.yml +++ b/jjb/opnfv/opnfv-docker.yml @@ -39,7 +39,7 @@ description: "To enable/disable pushing the image to Dockerhub." - string: name: BASE_VERSION - default: "brahmaputra.0" + default: "brahmaputra.1" description: "Base version to be used." - string: name: DOCKER_REPO_NAME diff --git a/jjb/opnfv/opnfv-docs.yml b/jjb/opnfv/opnfv-docs.yml index eb6e58b92..f9d6a89bc 100644 --- a/jjb/opnfv/opnfv-docs.yml +++ b/jjb/opnfv/opnfv-docs.yml @@ -53,7 +53,7 @@ projects: - project-compare-type: 'REG_EXP' #Left out arno projects oscar|octopus|functest|genesis - project-pattern: 'vswitchperf|apex|availability|bottlenecks|compass4nfv|conductor|copper|doctor|dovetail|dpacc|escalator|fastpathmetrics|fuel|inspector|ipv6|joid|kvmfornfv|lsoapi|moon|movie|multisite|octopus|onosfw|ovsnfv|parser|prediction|promise|qtip|releng|rs|sdnvpn|sfc|vnf_forwarding_graph|enfv|pinpoint|pharos|cperf|functest' + project-pattern: 'vswitchperf|apex|availability|bottlenecks|compass4nfv|conductor|copper|doctor|dovetail|dpacc|escalator|fastpathmetrics|fuel|inspector|ipv6|joid|kvmfornfv|lsoapi|moon|movie|multisite|octopus|onosfw|ovsnfv|parser|prediction|promise|qtip|releng|rs|sdnvpn|sfc|vnf_forwarding_graph|enfv|pinpoint|pharos|cperf|functest|genesisreq|models' branches: - branch-compare-type: 'ANT' branch-pattern: '**/{branch}' @@ -91,7 +91,7 @@ comment-contains-value: 'remerge' projects: - project-compare-type: 'REG_EXP' - project-pattern: 'vswitchperf|apex|availability|bottlenecks|compass4nfv|conductor|copper|doctor|dovetail|dpacc|escalator|fastpathmetrics|fuel|inspector|ipv6|joid|kvmfornfv|lsoapi|moon|movie|multisite|octopus|onosfw|ovsnfv|parser|prediction|promise|qtip|releng|rs|sdnvpn|sfc|vnf_forwarding_graph|enfv|pinpoint|pharos|cperf|functest' + project-pattern: 'vswitchperf|apex|availability|bottlenecks|compass4nfv|conductor|copper|doctor|dovetail|dpacc|escalator|fastpathmetrics|fuel|inspector|ipv6|joid|kvmfornfv|lsoapi|moon|movie|multisite|octopus|onosfw|ovsnfv|parser|prediction|promise|qtip|releng|rs|sdnvpn|sfc|vnf_forwarding_graph|enfv|pinpoint|pharos|cperf|functest|genesisreq|models' branches: - branch-compare-type: 'ANT' branch-pattern: '**/{branch}' diff --git a/jjb/opnfv/slave-params.yml b/jjb/opnfv/slave-params.yml index e1f9e448b..cc196737b 100644 --- a/jjb/opnfv/slave-params.yml +++ b/jjb/opnfv/slave-params.yml @@ -83,15 +83,15 @@ description: 'Git URL to use on this Jenkins Slave' - parameter: - name: 'intelpod2-jumphost-defaults' + name: 'intel-pod2-defaults' parameters: - node: name: SLAVE_NAME description: 'Slave name on Jenkins' allowed-slaves: - - intelpod2-jumphost + - intel-pod2 default-slaves: - - intelpod2-jumphost + - intel-pod2 - string: name: INSTALLER_VERSION default: stable @@ -232,6 +232,25 @@ description: 'Git URL to use on this Jenkins Slave' - parameter: + name: 'huawei-us-deploy-bare-2-defaults' + parameters: + - node: + name: SLAVE_NAME + description: 'Slave name on Jenkins' + allowed-slaves: + - huawei-us-deploy-bare-2 + default-slaves: + - huawei-us-deploy-bare-2 + - string: + name: INSTALLER_VERSION + default: stable + description: 'Version of the installer to deploy' + - string: + name: GIT_BASE + default: https://gerrit.opnfv.org/gerrit/$PROJECT + description: 'Git URL to use on this Jenkins Slave' + +- parameter: name: 'huawei-virtual-defaults' parameters: - label: @@ -247,6 +266,28 @@ description: 'Git URL to use on this Jenkins Slave' - parameter: + name: 'huawei-sh-test-2-defaults' + parameters: + - node: + name: SLAVE_NAME + description: 'Slave name on Jenkins' + allowed-slaves: + - huawei-sh-test-2 + default-slaves: + - huawei-sh-test-2 + - label: + name: SLAVE_LABEL + default: 'huawei-test' + - string: + name: INSTALLER_VERSION + default: stable + description: 'Version of the installer to deploy' + - string: + name: GIT_BASE + default: https://gerrit.opnfv.org/gerrit/$PROJECT + description: 'Git URL to use on this Jenkins Slave' + +- parameter: name: 'opnfv-build-defaults' parameters: - label: @@ -263,30 +304,45 @@ description: "Directory where the build artifact will be located upon the completion of the build." - parameter: - name: 'intel-us-build-1-defaults' + name: 'intel-build1-defaults' + parameters: + - node: + name: SLAVE_NAME + description: 'Slave name on Jenkins' + allowed-slaves: + - intel-build1 + default-slaves: + - intel-build1 + - string: + name: GIT_BASE + default: https://gerrit.opnfv.org/gerrit/$PROJECT + description: 'Git URL to use on this Jenkins Slave' + +- parameter: + name: 'intel-build2-defaults' parameters: - node: name: SLAVE_NAME description: 'Slave name on Jenkins' allowed-slaves: - - intel-us-build-1 + - intel-build2 default-slaves: - - intel-us-build-1 + - intel-build2 - string: name: GIT_BASE default: https://gerrit.opnfv.org/gerrit/$PROJECT description: 'Git URL to use on this Jenkins Slave' - parameter: - name: 'intel-us-build-2-defaults' + name: 'intel-build3-defaults' parameters: - node: name: SLAVE_NAME description: 'Slave name on Jenkins' allowed-slaves: - - intel-us-build-2 + - intel-build3 default-slaves: - - intel-us-build-2 + - intel-build3 - string: name: GIT_BASE default: https://gerrit.opnfv.org/gerrit/$PROJECT @@ -399,15 +455,15 @@ description: 'Git URL to use on these Jenkins Slaves' - parameter: - name: 'intel-us-deploy-virtual-2-defaults' + name: 'intel-virtual2-defaults' parameters: - node: name: SLAVE_NAME description: 'Slave name on Jenkins' allowed-slaves: - - intel-us-deploy-virtual-2 + - intel-virtual2 default-slaves: - - intel-us-deploy-virtual-2 + - intel-virtual2 - string: name: INSTALLER_VERSION default: latest @@ -420,3 +476,41 @@ name: SSH_KEY default: /root/.ssh/id_rsa description: 'SSH key to use for Apex' + +- parameter: + name: 'dell-us-testing-bm-1-defaults' + parameters: + - node: + name: SLAVE_NAME + description: 'Slave name on Jenkins' + allowed-slaves: + - dell-us-testing-bm-1 + default-slaves: + - dell-us-testing-bm-1 + - string: + name: INSTALLER_VERSION + default: latest + description: 'Version of the installer to deploy' + - string: + name: GIT_BASE + default: https://gerrit.opnfv.org/gerrit/$PROJECT + description: 'Git URL to use on this Jenkins Slave' + +- parameter: + name: 'dell-us-deploying-bm3-defaults' + parameters: + - node: + name: SLAVE_NAME + description: 'Slave name on Jenkins' + allowed-slaves: + - dell-us-deploying-bm3 + default-slaves: + - dell-us-deploying-bm3 + - string: + name: INSTALLER_VERSION + default: latest + description: 'Version of the installer to deploy' + - string: + name: GIT_BASE + default: https://gerrit.opnfv.org/gerrit/$PROJECT + description: 'Git URL to use on this Jenkins Slave' diff --git a/jjb/ovsnfv/ovsnfv.yml b/jjb/ovsnfv/ovsnfv.yml index d0c180c5b..8a119d9fb 100644 --- a/jjb/ovsnfv/ovsnfv.yml +++ b/jjb/ovsnfv/ovsnfv.yml @@ -24,7 +24,7 @@ project: '{project}' - gerrit-parameter: branch: '{branch}' - - 'intel-us-build-2-defaults' + - 'intel-build2-defaults' - string: name: GS_URL default: '$GS_BASE{gs-pathname}' @@ -73,7 +73,7 @@ project: '{project}' - gerrit-parameter: branch: '{branch}' - - 'intel-us-build-2-defaults' + - 'intel-build2-defaults' - string: name: GS_URL default: '$GS_BASE{gs-pathname}' @@ -114,7 +114,7 @@ parameters: - project-parameter: project: '{project}' - - 'intel-us-build-2-defaults' + - 'intel-build2-defaults' - string: name: GS_URL default: '$GS_BASE{gs-pathname}' diff --git a/jjb/qtip/qtip.yml b/jjb/qtip/qtip-ci-jobs.yml index 450ba938e..8dd0a4af0 100644 --- a/jjb/qtip/qtip.yml +++ b/jjb/qtip/qtip-ci-jobs.yml @@ -1,105 +1,81 @@ +#################################### +# job configuration for qtip +#################################### - project: - name: qtip - - project: '{name}' - - jobs: - - 'qtip-verify-{stream}' - - 'qtip-{installer_type}-{pod}-daily-{stream}' - + name: qtip-ci-jobs + + project: 'qtip' + +#-------------------------------- +# BRANCH ANCHORS +#-------------------------------- + master: &master + stream: master + branch: '{stream}' + gs-pathname: '' + brahmaputra: &brahmaputra + stream: brahmaputra + branch: 'stable/{stream}' + gs-pathname: '{stream}' +#-------------------------------- +# POD, INSTALLER, AND BRANCH MAPPING +#-------------------------------- +# brahmaputra +#-------------------------------- pod: - dell-us-testing-bm-1: - node: 'dell-us-testing-bm-1' - installer_type: 'fuel' - installer_ip: '10.20.0.2' + installer: compass + auto-trigger-name: 'qtip-daily-dell-us-testing-bm-1-trigger' + <<: *brahmaputra + - orange-pod2: + installer: joid + auto-trigger-name: 'brahmaputra-trigger-daily-disabled' + <<: *brahmaputra - dell-us-deploying-bm3: - node: 'dell-us-deploying-bm3' - installer_type: 'fuel' - installer_ip: '10.20.0.2' - -# only master branch is enabled at the moment to keep no of jobs sane - stream: - - master: - branch: 'master' - gs-pathname: '' -# - brahmaputra: -# branch: 'stable/brahmaputra' -# gs-pathname: '/brahmaputra' + installer: fuel + auto-trigger-name: 'qtip-daily-dell-us-deploying-bm3-trigger' + <<: *brahmaputra + +#-------------------------------- +# master +#-------------------------------- + - juniper-pod1: + installer: joid + <<: *master + auto-trigger-name: 'brahmaputra-trigger-daily-disabled' +# - zte-build-1: #would be confirmed with the ZTE lab by tomorrow +# installer: fuel +# <<: *master + +#-------------------------------- + jobs: + - 'qtip-{installer}-{pod}-daily-{stream}' +################################ +# job templates +################################ - job-template: - name: 'qtip-verify-{stream}' + name: 'qtip-{installer}-{pod}-daily-{stream}' + + disabled: false parameters: - project-parameter: project: '{project}' - - gerrit-parameter: - branch: '{branch}' - - 'opnfv-build-defaults' + - '{pod}-defaults' + - '{installer}-defaults' + - string: + name: DEPLOY_SCENARIO + default: 'os-nosdn-nofeature-ha' scm: - - gerrit-trigger-scm: - credentials-id: '{ssh-credentials}' - refspec: '$GERRIT_REFSPEC' - choosing-strategy: 'gerrit' + - git-scm: + credentials-id: '{ssh-credentials}' + refspec: '' + branch: '{branch}' triggers: - - gerrit: - trigger-on: - - patchset-created-event: - exclude-drafts: 'false' - exclude-trivial-rebase: 'false' - exclude-no-code-change: 'false' - - draft-published-event - - comment-added-contains-event: - comment-contains-value: 'recheck' - - comment-added-contains-event: - comment-contains-value: 'reverify' - projects: - - project-compare-type: 'ANT' - project-pattern: '{project}' - branches: - - branch-compare-type: 'ANT' - branch-pattern: '**/{branch}' - forbidden-file-paths: - - compare-type: ANT - pattern: 'docs/**|.gitignore' - - builders: - - shell: | - echo "Nothing to verify!" - -- job-template: - name: 'qtip-{installer_type}-{pod}-daily-{stream}' - - disabled: false - - node: '{node}' - - parameters: - - project-parameter: - project: '{project}' - - string: - name: INSTALLER_TYPE - default: '{installer_type}' - description: "Installer name that is used for deployment." - - string: - name: INSTALLER_IP - default: '{installer_ip}' - description: "Installer IP" - - string: - name: NODE_NAME - default: '{node}' - description: "Name of the POD" - - string: - name: GIT_BASE - default: https://gerrit.opnfv.org/gerrit/$PROJECT - description: "Used for overriding the GIT URL coming from Global Jenkins configuration in case if the stuff is done on none-LF HW." - - scm: - - git-scm: - credentials-id: '{ssh-credentials}' - refspec: '' - branch: master + - '{auto-trigger-name}' builders: - 'qtip-cleanup' @@ -107,9 +83,9 @@ - 'qtip-run-suite' - 'qtip-pushtoDB' - triggers: - - timed: '0 0,13,15,20 * * *' - + publishers: + - email: + recipients: nauman.ahad@xflowresearch.com, mofassir.arif@xflowresearch.com, vikram@nvirters.com ########################### #biuilder macros @@ -123,7 +99,6 @@ envs="INSTALLER_TYPE=${INSTALLER_TYPE} -e INSTALLER_IP=${INSTALLER_IP} -e NODE_NAME=${NODE_NAME}" suite="TEST_CASE=all" docker pull opnfv/qtip:latest - cmd=" docker run -id -e $envs -e $suite opnfv/qtip:latest /bin/bash" echo "Qtip: Running docker run command: ${cmd}" ${cmd} @@ -191,16 +166,28 @@ done fi -- builder: - name: qtip-fetch-os-cred - builders: - - shell: | - #!/bin/bash +################# +#trigger macros +################# + +- trigger: + name: 'qtip-daily-dell-us-deploying-bm3-trigger' + triggers: + - timed: '0 0 * * *' + +- trigger: + name: 'qtip-daily-dell-us-testing-bm-1-trigger' + triggers: + - timed: '0 3 * * *' + +#- trigger: +# name: 'qtip-daily-juniper-build1-trigger' +# triggers: +# - timed : '0 0 * * *' + +#- trigger: +# name: 'qtip-dailty-orange-fr-pod2-trigger' +# triggers: +# - timed : ' 0 0 * * *' + - echo $HOME - echo $WORKSPACE - cd $WORKSPACE - git clone https://gerrit.opnfv.org/gerrit/releng - cd $WORKSPACE/releng/utils - #./fetch_os_creds.sh #To test the problem with creating the file in $HOME - ./fetch_os_creds.sh -d $WORKSPACE/opnfv-stack.sh #To test if the file can be created in $WORKSPACE diff --git a/jjb/qtip/qtip-project-jobs.yml b/jjb/qtip/qtip-project-jobs.yml new file mode 100644 index 000000000..c77bac722 --- /dev/null +++ b/jjb/qtip/qtip-project-jobs.yml @@ -0,0 +1,58 @@ +- project: + name: qtip + + project: '{name}' + + jobs: + - 'qtip-verify-{stream}' + +# only master branch is enabled at the moment to keep no of jobs sane + stream: + - master: + branch: '{stream}' + gs-pathname: '' + - brahmaputra: + branch: 'stable/{stream}' + gs-pathname: '/{stream}' + +- job-template: + name: 'qtip-verify-{stream}' + + parameters: + - project-parameter: + project: '{project}' + - gerrit-parameter: + branch: '{branch}' + - 'opnfv-build-defaults' + + scm: + - gerrit-trigger-scm: + credentials-id: '{ssh-credentials}' + refspec: '$GERRIT_REFSPEC' + choosing-strategy: 'gerrit' + + triggers: + - gerrit: + trigger-on: + - patchset-created-event: + exclude-drafts: 'false' + exclude-trivial-rebase: 'false' + exclude-no-code-change: 'false' + - draft-published-event + - comment-added-contains-event: + comment-contains-value: 'recheck' + - comment-added-contains-event: + comment-contains-value: 'reverify' + projects: + - project-compare-type: 'ANT' + project-pattern: '{project}' + branches: + - branch-compare-type: 'ANT' + branch-pattern: '**/{branch}' + forbidden-file-paths: + - compare-type: ANT + pattern: 'docs/**|.gitignore' + + builders: + - shell: | + echo "Nothing to verify!" diff --git a/jjb/releng-macros.yaml b/jjb/releng-macros.yaml index 5d9570705..b43a76d5f 100644 --- a/jjb/releng-macros.yaml +++ b/jjb/releng-macros.yaml @@ -195,7 +195,7 @@ echo "###########################" echo - gs_base="artifacts.opnfv.org/review" + gs_base="artifacts.opnfv.org/$PROJECT/review" gs_path="$gs_base/$GERRIT_CHANGE_NUMBER" local_path="upload/$GERRIT_CHANGE_NUMBER" @@ -283,6 +283,13 @@ [[ $GERRIT_CHANGE_NUMBER =~ .+ ]] + gs_path="artifacts.opnfv.org/$PROJECT/review/$GERRIT_CHANGE_NUMBER" + + if gsutil ls "gs://$gs_path" > /dev/null 2>&1 ; then + echo + echo "Deleting Out-of-dated Documents..." + gsutil -m rm -r "gs://$gs_path" + fi gs_path="artifacts.opnfv.org/review/$GERRIT_CHANGE_NUMBER" if gsutil ls "gs://$gs_path" > /dev/null 2>&1 ; then diff --git a/jjb/yardstick/yardstick-ci-jobs.yml b/jjb/yardstick/yardstick-ci-jobs.yml index 8a5546d80..9566651ff 100644 --- a/jjb/yardstick/yardstick-ci-jobs.yml +++ b/jjb/yardstick/yardstick-ci-jobs.yml @@ -13,10 +13,12 @@ stream: master branch: '{stream}' gs-pathname: '' + docker-tag: 'latest' brahmaputra: &brahmaputra stream: brahmaputra branch: 'stable/{stream}' gs-pathname: '{stream}' + docker-tag: 'brahmaputra.1.0' #-------------------------------- # POD, INSTALLER, AND BRANCH MAPPING #-------------------------------- @@ -38,6 +40,11 @@ suite: daily auto-trigger-name: 'brahmaputra-trigger-daily-disabled' <<: *brahmaputra + - orange-pod2: + installer: joid + suite: daily + auto-trigger-name: 'brahmaputra-trigger-daily-disabled' + <<: *brahmaputra - huawei-us-deploy-bare-1: installer: compass suite: daily @@ -71,6 +78,11 @@ #-------------------------------- # master #-------------------------------- + - opnfv-jump-2: + installer: fuel + suite: daily + auto-trigger-name: 'brahmaputra-trigger-daily-disabled' + <<: *master - ericsson-pod1: installer: fuel suite: daily @@ -121,6 +133,11 @@ suite: daily auto-trigger-name: 'brahmaputra-trigger-daily-disabled' <<: *master + - huawei-sh-test-2: + installer: compass + suite: daily + auto-trigger-name: 'yardstick-daily-huawei-sh-test-2-trigger' + <<: *master - virtual: installer: joid suite: daily @@ -149,6 +166,9 @@ wrappers: - build-name: name: '$BUILD_NUMBER - Scenario: $DEPLOY_SCENARIO' + - timeout: + timeout: 180 + abort: true triggers: - '{auto-trigger-name}' @@ -163,6 +183,10 @@ name: DEPLOY_SCENARIO default: 'os-odl_l2-nofeature-ha' - string: + name: DOCKER_TAG + default: '{docker-tag}' + description: 'Tag to pull docker image' + - string: name: YARDSTICK_SUITE_NAME default: opnfv_${{NODE_NAME}}_{suite}.yaml description: 'Path to test suite' @@ -224,7 +248,7 @@ -e YARDSTICK_BRANCH=${GIT_BRANCH##origin/} -e DEPLOY_SCENARIO=${DEPLOY_SCENARIO}" # Pull the latest image - docker pull opnfv/yardstick >$redirect + docker pull opnfv/yardstick:$DOCKER_TAG >$redirect # Run docker cmd="sudo docker run ${opts} ${envs} ${labconfig} ${sshkey} opnfv/yardstick \ @@ -285,7 +309,7 @@ parameters: - string: name: YARDSTICK_DB_BACKEND - default: '' + default: '-i 104.197.68.199:8086' description: 'Arguments to use in order to choose the backend DB' - parameter: @@ -293,7 +317,7 @@ parameters: - string: name: YARDSTICK_DB_BACKEND - default: '' + default: '-i 104.197.68.199:8086' description: 'Arguments to use in order to choose the backend DB' - parameter: @@ -309,7 +333,7 @@ parameters: - string: name: YARDSTICK_DB_BACKEND - default: '-i 10.118.36.90:8086' + default: '-i 104.197.68.199:8086' description: 'Arguments to use in order to choose the backend DB' - parameter: @@ -317,7 +341,7 @@ parameters: - string: name: YARDSTICK_DB_BACKEND - default: '-i 10.118.36.90:8086' + default: '-i 104.197.68.199:8086' description: 'Arguments to use in order to choose the backend DB' - parameter: @@ -325,7 +349,7 @@ parameters: - string: name: YARDSTICK_DB_BACKEND - default: '-r 213.77.62.197/results' + default: '-i 104.197.68.199:8086' description: 'Arguments to use in order to choose the backend DB' - parameter: @@ -333,7 +357,7 @@ parameters: - string: name: YARDSTICK_DB_BACKEND - default: '-r 213.77.62.197/results' + default: '-i 104.197.68.199:8086' description: 'Arguments to use in order to choose the backend DB' - parameter: @@ -341,7 +365,7 @@ parameters: - string: name: YARDSTICK_DB_BACKEND - default: '' + default: '-i 104.197.68.199:8086' description: 'Arguments to use in order to choose the backend DB' - parameter: @@ -357,7 +381,7 @@ parameters: - string: name: YARDSTICK_DB_BACKEND - default: '' + default: '-i 104.197.68.199:8086' description: 'Arguments to use in order to choose the backend DB' - parameter: @@ -376,6 +400,14 @@ default: '' description: 'Arguments to use in order to choose the backend DB' +- parameter: + name: 'yardstick-params-huawei-sh-test-2' + parameters: + - string: + name: YARDSTICK_DB_BACKEND + default: '' + description: 'Arguments to use in order to choose the backend DB' + ####################### ## trigger macros ####################### @@ -389,3 +421,8 @@ name: 'yardstick-vtcdaily-ericsson-pod1-trigger' triggers: - timed: '0 1 * * *' + +- trigger: + name: 'yardstick-daily-huawei-sh-test-2-trigger' + triggers: + - timed: '0 1 * * *' diff --git a/jjb/yardstick/yardstick-project-jobs.yml b/jjb/yardstick/yardstick-project-jobs.yml index bfe343f4f..f06bf7077 100644 --- a/jjb/yardstick/yardstick-project-jobs.yml +++ b/jjb/yardstick/yardstick-project-jobs.yml @@ -58,21 +58,9 @@ - branch-compare-type: 'ANT' branch-pattern: '**/{branch}' builders: - - shell: | - #!/bin/bash - set -o errexit - set -o pipefail - - echo "Running unit tests..." - cd $WORKSPACE - virtualenv $WORKSPACE/yardstick_venv - source $WORKSPACE/yardstick_venv/bin/activate - easy_install -U setuptools - python setup.py develop - ./run_tests.sh - - generate-api-docs-for-yardstick - - upload-review-docs - - shell: 'deactivate' + - yardstick-unit-tests-and-docs-build + - upload-under-review-docs-to-opnfv-artifacts + - report-docs-build-result-to-gerrit - job-template: name: 'yardstick-merge-{stream}' @@ -108,6 +96,18 @@ branch-pattern: '**/{branch}' builders: + - yardstick-unit-tests-and-docs-build + - upload-generated-docs-to-opnfv-artifacts + - report-docs-build-result-to-gerrit + - remove-old-docs-from-opnfv-artifacts + +################################ +# job builders +################################ + +- builder: + name: yardstick-unit-tests-and-docs-build + builders: - shell: | #!/bin/bash set -o errexit @@ -117,23 +117,23 @@ cd $WORKSPACE virtualenv $WORKSPACE/yardstick_venv source $WORKSPACE/yardstick_venv/bin/activate + + # install python packages easy_install -U setuptools - python setup.py develop - ./run_tests.sh - - generate-api-docs-for-yardstick - - upload-merged-docs - - shell: 'deactivate' + easy_install -U pip + pip install -r ci/requirements.txt + pip install -e . -################################ -# job builders -################################ + # unit tests + ./run_tests.sh -- builder: - name: generate-api-docs-for-yardstick - builders: - - shell: | - #!/bin/bash - set -o errexit - set -o pipefail + pip install Sphinx==1.3.1 doc8 docutils sphinxcontrib-httpdomain + # generate api doc sources sphinx-apidoc -o docs/apidocs yardstick + + # build docs + git clone ssh://gerrit.opnfv.org:29418/releng + GERRIT_COMMENT=gerrit_comment.txt ./releng/utils/docs-build.sh + + deactivate |