diff options
Diffstat (limited to 'jjb')
-rwxr-xr-x | jjb/3rd_party_ci/download-netvirt-artifact.sh | 18 | ||||
-rwxr-xr-x | jjb/3rd_party_ci/install-netvirt.sh | 3 | ||||
-rw-r--r-- | jjb/3rd_party_ci/odl-netvirt.yaml | 30 | ||||
-rw-r--r-- | jjb/apex/apex-snapshot-deploy.sh | 13 | ||||
-rw-r--r-- | jjb/apex/apex-verify-jobs.yaml | 1 | ||||
-rw-r--r-- | jjb/apex/apex.yaml | 2 | ||||
-rw-r--r-- | jjb/apex/apex.yaml.j2 | 2 | ||||
-rw-r--r-- | jjb/doctor/doctor.yaml | 6 | ||||
-rwxr-xr-x | jjb/functest/functest-env-presetup.sh | 42 | ||||
-rw-r--r-- | jjb/releng/releng-ci-jobs.yaml | 1 | ||||
-rw-r--r-- | jjb/releng/releng-release-tagging.sh | 2 | ||||
-rw-r--r-- | jjb/sfc/sfc-project-jobs.yaml | 37 |
12 files changed, 109 insertions, 48 deletions
diff --git a/jjb/3rd_party_ci/download-netvirt-artifact.sh b/jjb/3rd_party_ci/download-netvirt-artifact.sh index 7ecf8d78d..b1f977a6f 100755 --- a/jjb/3rd_party_ci/download-netvirt-artifact.sh +++ b/jjb/3rd_party_ci/download-netvirt-artifact.sh @@ -3,20 +3,21 @@ set -o errexit set -o nounset set -o pipefail -ODL_ZIP=distribution-karaf-0.6.0-SNAPSHOT.zip - echo "Attempting to fetch the artifact location from ODL Jenkins" if [ "$ODL_BRANCH" != 'master' ]; then DIST=$(echo ${ODL_BRANCH} | sed -rn 's#([a-zA-Z]+)/([a-zA-Z]+)#\2#p') ODL_BRANCH=$(echo ${ODL_BRANCH} | sed -rn 's#([a-zA-Z]+)/([a-zA-Z]+)#\1%2F\2#p') else - DIST='nitrogen' + DIST='fluorine' fi + +echo "ODL Distribution is ${DIST}" +ODL_ZIP="karaf-SNAPSHOT.zip" CHANGE_DETAILS_URL="https://git.opendaylight.org/gerrit/changes/netvirt~${ODL_BRANCH}~${GERRIT_CHANGE_ID}/detail" # due to limitation with the Jenkins Gerrit Trigger, we need to use Gerrit REST API to get the change details -ODL_BUILD_JOB_NUM=$(curl --fail -s ${CHANGE_DETAILS_URL} | grep -Eo "netvirt-distribution-check-${DIST}/[0-9]+" | tail -1 | grep -Eo [0-9]+) -DISTRO_CHECK_CONSOLE_LOG="https://logs.opendaylight.org/releng/jenkins092/netvirt-distribution-check-${DIST}/${ODL_BUILD_JOB_NUM}/console.log.gz" -NETVIRT_ARTIFACT_URL=$(curl --fail -s --compressed ${DISTRO_CHECK_CONSOLE_LOG} | grep 'BUNDLE_URL' | cut -d = -f 2) +ODL_BUILD_JOB_NUM=$(curl --fail ${CHANGE_DETAILS_URL} | grep -Eo "netvirt-distribution-check-${DIST}/[0-9]+" | tail -1 | grep -Eo [0-9]+) +DISTRO_CHECK_CONSOLE_LOG="https://logs.opendaylight.org/releng/vex-yul-odl-jenkins-1/netvirt-distribution-check-${DIST}/${ODL_BUILD_JOB_NUM}/console.log.gz" +NETVIRT_ARTIFACT_URL=$(curl --fail --compressed ${DISTRO_CHECK_CONSOLE_LOG} | grep 'BUNDLE_URL' | cut -d = -f 2) echo -e "URL to artifact is\n\t$NETVIRT_ARTIFACT_URL" @@ -30,8 +31,9 @@ fi #TODO(trozet) remove this once odl-pipeline accepts zip files echo "Converting artifact zip to tar.gz" -unzip $ODL_ZIP -tar czf /tmp/${NETVIRT_ARTIFACT} $(echo $ODL_ZIP | sed -n 's/\.zip//p') +UNZIPPED_DIR=`dirname $(unzip -qql ${ODL_ZIP} | head -n1 | tr -s ' ' | cut -d' ' -f5-)` +unzip ${ODL_ZIP} +tar czf /tmp/${NETVIRT_ARTIFACT} ${UNZIPPED_DIR} echo "Download complete" ls -al /tmp/${NETVIRT_ARTIFACT} diff --git a/jjb/3rd_party_ci/install-netvirt.sh b/jjb/3rd_party_ci/install-netvirt.sh index ed1a12bc8..07bbe7739 100755 --- a/jjb/3rd_party_ci/install-netvirt.sh +++ b/jjb/3rd_party_ci/install-netvirt.sh @@ -26,8 +26,7 @@ fi # but we really should check the cache here, and not use a single cache folder # for when we support multiple jobs on a single slave pushd sdnvpn/odl-pipeline/lib > /dev/null -# FIXME (trozet) remove this once permissions are fixed in sdnvpn repo -chmod +x odl_reinstaller.sh +git fetch https://gerrit.opnfv.org/gerrit/sdnvpn refs/changes/17/59017/5 && git checkout FETCH_HEAD ./odl_reinstaller.sh --pod-config ${SNAP_CACHE}/node.yaml \ --odl-artifact /tmp/${NETVIRT_ARTIFACT} --ssh-key-file ${SNAP_CACHE}/id_rsa popd > /dev/null diff --git a/jjb/3rd_party_ci/odl-netvirt.yaml b/jjb/3rd_party_ci/odl-netvirt.yaml index 863eb94dd..3a46e798e 100644 --- a/jjb/3rd_party_ci/odl-netvirt.yaml +++ b/jjb/3rd_party_ci/odl-netvirt.yaml @@ -13,8 +13,8 @@ branch: '{stream}' gs-pathname: '' disabled: false - - carbon: - branch: 'stable/carbon' + - oxygen: + branch: 'stable/oxygen' gs-pathname: '' disabled: false ##################################### @@ -22,11 +22,11 @@ ##################################### phase: - 'create-apex-vms': - slave-label: 'odl-netvirt-virtual-intel' + slave-label: 'apex-virtual-master' - 'install-netvirt': - slave-label: 'odl-netvirt-virtual-intel' + slave-label: 'apex-virtual-master' - 'postprocess': - slave-label: 'odl-netvirt-virtual-intel' + slave-label: 'apex-virtual-master' ##################################### # jobs ##################################### @@ -53,7 +53,17 @@ max-total: 5 max-per-node: 1 option: 'project' - + - build-blocker: + use-build-blocker: true + blocking-jobs: + - 'apex-verify.*' + - 'apex-.*-promote.*' + - 'apex-virtual.*' + - 'odl-netvirt-verify-virtual-create-apex-vms-.*' + - 'odl-netvirt-verify-virtual-install-netvirt-.*' + - 'functest-netvirt-virtual-suite-.*' + - 'odl-netvirt-verify-virtual-postprocess-.*' + block-level: 'NODE' scm: - git: url: https://gerrit.opnfv.org/gerrit/apex @@ -69,7 +79,7 @@ - string: name: NETVIRT_ARTIFACT default: distribution-karaf.tar.gz - - 'odl-netvirt-virtual-intel-defaults' + - 'apex-virtual-master-defaults' triggers: - gerrit: @@ -136,9 +146,9 @@ projects: - name: 'functest-netvirt-virtual-suite-master' predefined-parameters: | - DEPLOY_SCENARIO=os-odl_l3-nofeature-ha + DEPLOY_SCENARIO=os-odl-nofeature-ha FUNCTEST_MODE=testcase - FUNCTEST_SUITE_NAME=odl_netvirt + FUNCTEST_SUITE_NAME=tempest_smoke_serial RC_FILE_PATH=$HOME/cloner-info/overcloudrc node-parameters: true kill-phase-on: FAILURE @@ -206,7 +216,7 @@ - '{installer}-defaults' - string: name: DEPLOY_SCENARIO - default: 'os-odl_l2-bgpvpn-noha' + default: 'os-odl-nofeature-noha' description: 'Scenario to deploy and test' - string: name: GS_URL diff --git a/jjb/apex/apex-snapshot-deploy.sh b/jjb/apex/apex-snapshot-deploy.sh index a93421c8e..0760626e3 100644 --- a/jjb/apex/apex-snapshot-deploy.sh +++ b/jjb/apex/apex-snapshot-deploy.sh @@ -133,6 +133,10 @@ for node_def in ${virsh_vm_defs}; do sudo virsh define ${node_def} node=$(echo ${node_def} | awk -F '.' '{print $1}') sudo cp -f ${node}.qcow2 /var/lib/libvirt/images/ + # FIXME (trozet) install java on each disk image as required to upgrade ODL + # should be added to Apex as part of the deployment. Remove this after that + # is complete + sudo LIBGUESTFS_BACKEND=direct virt-customize --install java-1.8.0-openjdk -a /var/lib/libvirt/images/${node}.qcow2 sudo virsh start ${node} echo "Node: ${node} started" done @@ -141,14 +145,15 @@ done mkdir -p $HOME/cloner-info cp -f overcloudrc $HOME/cloner-info/ -admin_controller_ip=$(cat overcloudrc | grep -Eo -m 1 "192.0.2.[0-9]+") +admin_controller_ip=$(cat overcloudrc | grep -Eo -m 1 "192.0.2.[0-9]+" | head -1) netvirt_url="http://${admin_controller_ip}:8081/restconf/operational/network-topology:network-topology/topology/netvirt:1" source overcloudrc counter=1 while [ "$counter" -le 10 ]; do - if curl --fail --silent ${admin_controller_ip}:80 > /dev/null; then - echo "Overcloud Horizon is up...Checking if OpenDaylight NetVirt is up..." + echo "Checking if OpenStack is up" + if nc -z ${admin_controller_ip} 9696 > /dev/null; then + echo "Overcloud Neutron is up...Checking if OpenDaylight NetVirt is up..." if curl --fail --silent -u admin:admin ${netvirt_url} > /dev/null; then echo "OpenDaylight is up. Overcloud deployment complete" exit 0 @@ -156,7 +161,7 @@ while [ "$counter" -le 10 ]; do echo "OpenDaylight not yet up, try ${counter}" fi else - echo "Horizon/Apache not yet up, try ${counter}" + echo "Neutron not yet up, try ${counter}" fi counter=$((counter+1)) sleep 60 diff --git a/jjb/apex/apex-verify-jobs.yaml b/jjb/apex/apex-verify-jobs.yaml index 0837a76e4..81e59bdf5 100644 --- a/jjb/apex/apex-verify-jobs.yaml +++ b/jjb/apex/apex-verify-jobs.yaml @@ -312,6 +312,7 @@ - 'apex-verify.*' - 'apex-virtual.*' - 'apex-.*-promote.*' + - 'odl-netvirt.*' - throttle: max-per-node: 1 max-total: 10 diff --git a/jjb/apex/apex.yaml b/jjb/apex/apex.yaml index 65e558820..e24a2c358 100644 --- a/jjb/apex/apex.yaml +++ b/jjb/apex/apex.yaml @@ -347,6 +347,7 @@ - 'yardstick.*' - 'dovetail.*' - 'storperf.*' + - 'odl-netvirt.*' - throttle: max-per-node: 1 max-total: 10 @@ -401,6 +402,7 @@ - 'apex-run.*' - 'apex-virtual-.*' - 'apex-verify-gate-.*' + - 'odl-netvirt.*' - throttle: max-per-node: 1 max-total: 10 diff --git a/jjb/apex/apex.yaml.j2 b/jjb/apex/apex.yaml.j2 index f1208d27e..1f5232b5f 100644 --- a/jjb/apex/apex.yaml.j2 +++ b/jjb/apex/apex.yaml.j2 @@ -219,6 +219,7 @@ - 'yardstick.*' - 'dovetail.*' - 'storperf.*' + - 'odl-netvirt.*' - throttle: max-per-node: 1 max-total: 10 @@ -273,6 +274,7 @@ - 'apex-run.*' - 'apex-virtual-.*' - 'apex-verify-gate-.*' + - 'odl-netvirt.*' - throttle: max-per-node: 1 max-total: 10 diff --git a/jjb/doctor/doctor.yaml b/jjb/doctor/doctor.yaml index 1c12563a8..0d7b781a7 100644 --- a/jjb/doctor/doctor.yaml +++ b/jjb/doctor/doctor.yaml @@ -39,6 +39,12 @@ arch: 'aarch64' - installer: 'daisy' arch: 'aarch64' + # disabling the following tests due to limitation of PoD owners + # these would beenabled again once the PoDs are ready + - installer: 'fuel' + arch: 'x86_64' + - installer: 'daisy' + arch: 'x86_64' jobs: - 'doctor-verify-{inspector}-{stream}' diff --git a/jjb/functest/functest-env-presetup.sh b/jjb/functest/functest-env-presetup.sh index 323b325b4..81718a5e3 100755 --- a/jjb/functest/functest-env-presetup.sh +++ b/jjb/functest/functest-env-presetup.sh @@ -5,27 +5,31 @@ set -o pipefail # Fetch INSTALLER_IP for APEX deployments if [[ ${INSTALLER_TYPE} == 'apex' ]]; then - echo "Gathering IP information for Apex installer VM" - ssh_options="-o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no" - if sudo virsh list | grep undercloud; then - echo "Installer VM detected" - undercloud_mac=$(sudo virsh domiflist undercloud | grep default | \ + if [ -n "$RC_FILE_PATH" ]; then + echo "RC_FILE_PATH is set: ${RC_FILE_PATH}...skipping detecting UC IP" + else + echo "Gathering IP information for Apex installer VM" + ssh_options="-o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no" + if sudo virsh list | grep undercloud; then + echo "Installer VM detected" + undercloud_mac=$(sudo virsh domiflist undercloud | grep default | \ grep -Eo "[0-9a-f]+:[0-9a-f]+:[0-9a-f]+:[0-9a-f]+:[0-9a-f]+:[0-9a-f]+") - export INSTALLER_IP=$(/usr/sbin/arp -e | grep ${undercloud_mac} | awk {'print $1'}) - export sshkey_vol="-v /root/.ssh/id_rsa:/root/.ssh/id_rsa" - sudo scp $ssh_options root@${INSTALLER_IP}:/home/stack/stackrc ${HOME}/stackrc - export stackrc_vol="-v ${HOME}/stackrc:/home/opnfv/functest/conf/stackrc" - - if sudo iptables -C FORWARD -o virbr0 -j REJECT --reject-with icmp-port-unreachable 2> ${redirect}; then - sudo iptables -D FORWARD -o virbr0 -j REJECT --reject-with icmp-port-unreachable - fi - if sudo iptables -C FORWARD -i virbr0 -j REJECT --reject-with icmp-port-unreachable 2> ${redirect}; then - sudo iptables -D FORWARD -i virbr0 -j REJECT --reject-with icmp-port-unreachable + export INSTALLER_IP=$(/usr/sbin/arp -e | grep ${undercloud_mac} | awk {'print $1'}) + export sshkey_vol="-v /root/.ssh/id_rsa:/root/.ssh/id_rsa" + sudo scp $ssh_options root@${INSTALLER_IP}:/home/stack/stackrc ${HOME}/stackrc + export stackrc_vol="-v ${HOME}/stackrc:/home/opnfv/functest/conf/stackrc" + + if sudo iptables -C FORWARD -o virbr0 -j REJECT --reject-with icmp-port-unreachable 2> ${redirect}; then + sudo iptables -D FORWARD -o virbr0 -j REJECT --reject-with icmp-port-unreachable + fi + if sudo iptables -C FORWARD -i virbr0 -j REJECT --reject-with icmp-port-unreachable 2> ${redirect}; then + sudo iptables -D FORWARD -i virbr0 -j REJECT --reject-with icmp-port-unreachable + fi + echo "Installer ip is ${INSTALLER_IP}" + else + echo "No available installer VM exists and no credentials provided...exiting" + exit 1 fi - echo "Installer ip is ${INSTALLER_IP}" - else - echo "No available installer VM exists and no credentials provided...exiting" - exit 1 fi elif [[ ${INSTALLER_TYPE} == 'daisy' ]]; then diff --git a/jjb/releng/releng-ci-jobs.yaml b/jjb/releng/releng-ci-jobs.yaml index 790bd7eb4..49abd7dd4 100644 --- a/jjb/releng/releng-ci-jobs.yaml +++ b/jjb/releng/releng-ci-jobs.yaml @@ -13,6 +13,7 @@ rtd-build-url: 'https://readthedocs.org/api/v2/webhook/opnfv-releng/38594/' rtd-token: '291c6a0109493b4457e566d06141212452c65784' + project-pattern: 'releng' jobs: - '{project-name}-ci-jobs' diff --git a/jjb/releng/releng-release-tagging.sh b/jjb/releng/releng-release-tagging.sh index 10c0cc8c9..e1b93518f 100644 --- a/jjb/releng/releng-release-tagging.sh +++ b/jjb/releng/releng-release-tagging.sh @@ -57,7 +57,7 @@ for release_file in $RELEASE_FILES; do echo "--> Creating $tag tag for $repo at $ref" git tag -am "$tag" $tag $ref echo "--> Pushing tag" - echo "[noop] git push origin $tag" + git push origin $tag else # For non-merge jobs just output the ref info. git show -s --format="%h %s %d" $ref diff --git a/jjb/sfc/sfc-project-jobs.yaml b/jjb/sfc/sfc-project-jobs.yaml index fea792467..f858d1f5f 100644 --- a/jjb/sfc/sfc-project-jobs.yaml +++ b/jjb/sfc/sfc-project-jobs.yaml @@ -19,7 +19,7 @@ - fraser: &fraser branch: 'stable/{stream}' gs-pathname: '/{stream}' - disabled: false + disabled: true - job-template: name: 'sfc-verify-{stream}' @@ -60,14 +60,43 @@ pattern: 'docs/**|.gitignore' builders: - - sfc-unit-tests + - sfc-unit-tests-and-docs + + publishers: + - sfc-unit-tests-and-docs-publisher ################################ # job builders ################################ - builder: - name: sfc-unit-tests + name: sfc-unit-tests-and-docs builders: - shell: | - cd $WORKSPACE && yamllint $(git ls-tree -r HEAD --name-only | egrep 'yml$|yaml$' | egrep -v 'scenarios') + cd $WORKSPACE && tox + +################################ +# job publishers +################################ +- publisher: + name: 'sfc-unit-tests-and-docs-publisher' + publishers: + - junit: + results: nosetests.xml + - cobertura: + report-file: "coverage.xml" + only-stable: "true" + fail-no-reports: "true" + health-auto-update: "true" + stability-auto-update: "true" + zoom-coverage-chart: "true" + targets: + - files: + healthy: 0 + unhealthy: 0 + failing: 0 + - method: + healthy: 0 + unhealthy: 0 + failing: 0 + - email-jenkins-admins-on-failure |