diff options
Diffstat (limited to 'jjb')
-rw-r--r-- | jjb/apex/apex.yml | 12 | ||||
-rw-r--r-- | jjb/apex/apex.yml.j2 | 2 | ||||
-rw-r--r-- | jjb/apex/scenarios.yaml.hidden | 1 | ||||
-rw-r--r-- | jjb/armband/armband-ci-jobs.yml | 41 | ||||
-rw-r--r-- | jjb/container4nfv/container4nfv-project.yml | 41 | ||||
-rwxr-xr-x | jjb/daisy4nfv/daisy-deploy.sh | 20 | ||||
-rwxr-xr-x | jjb/dovetail/dovetail-run.sh | 76 | ||||
-rw-r--r-- | jjb/fuel/fuel-daily-jobs.yml | 43 | ||||
-rw-r--r-- | jjb/qtip/qtip-verify-jobs.yml | 5 | ||||
-rw-r--r-- | jjb/releng/compass4nfv-docker.yml | 11 | ||||
-rw-r--r-- | jjb/releng/opnfv-docker.sh | 7 | ||||
-rw-r--r-- | jjb/releng/opnfv-docker.yml | 2 |
12 files changed, 172 insertions, 89 deletions
diff --git a/jjb/apex/apex.yml b/jjb/apex/apex.yml index eadfbf9ee..6714d6a66 100644 --- a/jjb/apex/apex.yml +++ b/jjb/apex/apex.yml @@ -35,7 +35,7 @@ baremetal-slave: 'apex-baremetal-master' verify-scenario: 'os-odl-nofeature-ha' scenario_stream: 'euphrates' - disable_daily: false + disable_daily: true - danube: &danube branch: 'stable/danube' gs-pathname: '/danube' @@ -110,6 +110,8 @@ <<: *master - 'os-odl-bgpvpn-ha': <<: *master + - 'os-odl-bgpvpn-noha': + <<: *master - 'os-ovn-nofeature-noha': <<: *master - 'os-nosdn-fdio-noha': @@ -1335,6 +1337,14 @@ kill-phase-on: NEVER abort-all-job: true git-revision: false + - name: 'apex-os-odl-bgpvpn-noha-baremetal-master' + node-parameters: false + current-parameters: false + predefined-parameters: | + OPNFV_CLEAN=yes + kill-phase-on: NEVER + abort-all-job: true + git-revision: false - name: 'apex-os-ovn-nofeature-noha-baremetal-master' node-parameters: false current-parameters: false diff --git a/jjb/apex/apex.yml.j2 b/jjb/apex/apex.yml.j2 index f49c7fa1a..27a854dd7 100644 --- a/jjb/apex/apex.yml.j2 +++ b/jjb/apex/apex.yml.j2 @@ -35,7 +35,7 @@ baremetal-slave: 'apex-baremetal-master' verify-scenario: 'os-odl-nofeature-ha' scenario_stream: 'euphrates' - disable_daily: false + disable_daily: true - danube: &danube branch: 'stable/danube' gs-pathname: '/danube' diff --git a/jjb/apex/scenarios.yaml.hidden b/jjb/apex/scenarios.yaml.hidden index 98b698dd8..789ca7f7e 100644 --- a/jjb/apex/scenarios.yaml.hidden +++ b/jjb/apex/scenarios.yaml.hidden @@ -4,6 +4,7 @@ master: - 'os-odl-nofeature-ha' - 'os-odl-nofeature-noha' - 'os-odl-bgpvpn-ha' + - 'os-odl-bgpvpn-noha' - 'os-ovn-nofeature-noha' - 'os-nosdn-fdio-noha' - 'os-nosdn-fdio-ha' diff --git a/jjb/armband/armband-ci-jobs.yml b/jjb/armband/armband-ci-jobs.yml index 0202ef0e7..b2fa62f87 100644 --- a/jjb/armband/armband-ci-jobs.yml +++ b/jjb/armband/armband-ci-jobs.yml @@ -158,34 +158,21 @@ build-step-failure-threshold: 'never' failure-threshold: 'never' unstable-threshold: 'FAILURE' - # 1.dovetail only master, based on D release - # 2.here the stream means the SUT stream, - # dovetail stream is defined in its own job - # 3.only proposed_tests testsuite here(refstack, ha, ipv6, bgpvpn) - # 4.not used for release criteria or compliance, + # 1.here the stream means the SUT stream, dovetail stream is defined in its own job + # 2.only debug testsuite here(refstack, ha, vping, ipv6, tempest, bgpvpn) + # 3.not used for release criteria or compliance, # only to debug the dovetail tool bugs with arm pods - # 5.only run against scenario os-(nosdn|odl)-(nofeature-bgpvpn)-ha - - conditional-step: - condition-kind: and - condition-operands: - - condition-kind: regex-match - regex: os-(nosdn|odl)-(nofeature|bgpvpn)-ha - label: '{scenario}' - - condition-kind: regex-match - regex: 'danube' - label: '{stream}' - steps: - - trigger-builds: - - project: 'dovetail-{installer}-{pod}-proposed_tests-master' - current-parameters: false - predefined-parameters: - DEPLOY_SCENARIO={scenario} - block: true - same-node: true - block-thresholds: - build-step-failure-threshold: 'never' - failure-threshold: 'never' - unstable-threshold: 'FAILURE' + - trigger-builds: + - project: 'dovetail-{installer}-{pod}-proposed_tests-{stream}' + current-parameters: false + predefined-parameters: + DEPLOY_SCENARIO={scenario} + block: true + same-node: true + block-thresholds: + build-step-failure-threshold: 'never' + failure-threshold: 'never' + unstable-threshold: 'FAILURE' # Armband uses Fuel's log collection project job, no need to duplicate - conditional-step: condition-kind: not diff --git a/jjb/container4nfv/container4nfv-project.yml b/jjb/container4nfv/container4nfv-project.yml index 58070e1c5..03bbb655e 100644 --- a/jjb/container4nfv/container4nfv-project.yml +++ b/jjb/container4nfv/container4nfv-project.yml @@ -10,7 +10,8 @@ jobs: - 'container4nfv-verify-{stream}' - - 'container4nfv-daily-{stream}' + - 'container4nfv-daily-upload-{stream}' + - 'container4nfv-daily-deploy-{stream}' stream: - master: @@ -71,9 +72,34 @@ cd $WORKSPACE/ci ./build.sh +- job-template: + name: 'container4nfv-daily-upload-{stream}' + + disabled: '{obj:disabled}' + + concurrent: false + + scm: + - git-scm + + wrappers: + - fix-workspace-permissions + + parameters: + - project-parameter: + project: '{project}' + branch: '{branch}' + - 'opnfv-build-ubuntu-defaults' + - 'container4nfv-defaults': + gs-pathname: '{gs-pathname}' + + builders: + - shell: | + cd $WORKSPACE/ci + ./upload.sh - job-template: - name: 'container4nfv-daily-{stream}' + name: 'container4nfv-daily-deploy-{stream}' project-type: freestyle @@ -115,3 +141,14 @@ - shell: | cd $WORKSPACE/ci ./deploy.sh + +################### +# parameter macros +################### +- parameter: + name: 'container4nfv-defaults' + parameters: + - string: + name: GS_URL + default: artifacts.opnfv.org/$PROJECT{gs-pathname} + description: "URL to Google Storage." diff --git a/jjb/daisy4nfv/daisy-deploy.sh b/jjb/daisy4nfv/daisy-deploy.sh index 803ff5b03..1723fd109 100755 --- a/jjb/daisy4nfv/daisy-deploy.sh +++ b/jjb/daisy4nfv/daisy-deploy.sh @@ -19,14 +19,22 @@ fi # clone the securedlab repo cd $WORKSPACE -SECURELAB_DIR=/var/tmp/opnfv-securedlab -echo "Cloning securedlab repo $BRANCH to $SECURELAB_DIR" -rm -rf $SECURELAB_DIR -git clone ssh://jenkins-zte@gerrit.opnfv.org:29418/securedlab --quiet \ - --branch $BRANCH $SECURELAB_DIR +# There are no PDFs in euphrates branch of pharos repo. +if [[ "$BRANCH" =~ "euphrates" ]]; then + CONFIG_REPO_NAME=securedlab +else + CONFIG_REPO_NAME=pharos +fi + +LABS_DIR=/var/tmp/opnfv-${CONFIG_REPO_NAME} + +echo "Cloning ${CONFIG_REPO_NAME} repo $BRANCH to $LABS_DIR" +rm -rf $LABS_DIR +git clone ssh://jenkins-zte@gerrit.opnfv.org:29418/${CONFIG_REPO_NAME} \ + --quiet --branch $BRANCH $LABS_DIR -DEPLOY_COMMAND="sudo -E ./ci/deploy/deploy.sh -L $SECURELAB_DIR \ +DEPLOY_COMMAND="sudo -E ./ci/deploy/deploy.sh -L $LABS_DIR \ -l $LAB_NAME -p $POD_NAME -B $BRIDGE -s $DEPLOY_SCENARIO" # log info to console diff --git a/jjb/dovetail/dovetail-run.sh b/jjb/dovetail/dovetail-run.sh index e084e4bd0..e50242bd6 100755 --- a/jjb/dovetail/dovetail-run.sh +++ b/jjb/dovetail/dovetail-run.sh @@ -13,6 +13,9 @@ set -e [[ $CI_DEBUG == true ]] && redirect="/dev/stdout" || redirect="/dev/null" +DEPLOY_TYPE=baremetal +[[ $BUILD_TAG =~ "virtual" ]] && DEPLOY_TYPE=virt + DOVETAIL_HOME=${WORKSPACE}/cvp [ -d ${DOVETAIL_HOME} ] && sudo rm -rf ${DOVETAIL_HOME} @@ -21,6 +24,8 @@ mkdir -p ${DOVETAIL_HOME} DOVETAIL_CONFIG=${DOVETAIL_HOME}/pre_config mkdir -p ${DOVETAIL_CONFIG} +ssh_options="-o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no" + sshkey="" # The path of openrc.sh is defined in fetch_os_creds.sh OPENRC=${DOVETAIL_CONFIG}/env_config.sh @@ -73,13 +78,17 @@ if [[ -f $OPENRC ]]; then exit 1 fi fi - cat $OPENRC else echo "ERROR: cannot find file $OPENRC. Please check if it is existing." sudo ls -al ${DOVETAIL_CONFIG} exit 1 fi +if [[ ! "${SUT_BRANCH}" =~ "danube" && ${INSTALLER_TYPE} == "fuel" ]]; then + sed -i "s#/etc/ssl/certs/mcp_os_cacert#${CACERT}#g" ${OPENRC} +fi +cat $OPENRC + if [[ ! "${SUT_BRANCH}" =~ "danube" && ${INSTALLER_TYPE} == "compass" ]]; then cat << EOF >${DOVETAIL_CONFIG}/pod.yaml nodes: @@ -92,6 +101,19 @@ nodes: EOF fi +if [[ ! "${SUT_BRANCH}" =~ "danube" && ${INSTALLER_TYPE} == 'fuel' && ${DEPLOY_TYPE} == 'baremetal' ]]; then + fuel_ctl_ssh_options="${ssh_options} -i ${SSH_KEY}" + ssh_user="ubuntu" + fuel_ctl_ip=$(ssh 2>/dev/null ${fuel_ctl_ssh_options} "${ssh_user}@${INSTALLER_IP}" \ + "sudo salt --out yaml 'ctl*' pillar.get _param:openstack_control_address | \ + awk '{print \$2; exit}'") &> /dev/null + cat << EOF >${DOVETAIL_CONFIG}/pod.yaml +nodes: +- {ip: ${fuel_ctl_ip}, name: node1, key_filename: /root/.ssh/id_rsa, role: controller, user: ${ssh_user}} + +EOF +fi + if [[ ! -f ${DOVETAIL_CONFIG}/pod.yaml ]]; then set +e @@ -109,6 +131,8 @@ if [[ ! -f ${DOVETAIL_CONFIG}/pod.yaml ]]; then options="-u root -p r00tme" elif [[ ${INSTALLER_TYPE} == apex ]]; then options="-u stack -k /root/.ssh/id_rsa" + elif [[ ${INSTALLER_TYPE} == daisy ]]; then + options="-u root -p r00tme" else echo "Don't support to generate pod.yaml on ${INSTALLER_TYPE} currently." echo "HA test cases may not run properly." @@ -135,11 +159,13 @@ else echo "HA test cases may not run properly." fi -ssh_options="-o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no" - if [ "$INSTALLER_TYPE" == "fuel" ]; then - echo "Fetching id_rsa file from jump_server $INSTALLER_IP..." - sshpass -p r00tme sudo scp $ssh_options root@${INSTALLER_IP}:~/.ssh/id_rsa ${DOVETAIL_CONFIG}/id_rsa + if [[ "${SUT_BRANCH}" =~ "danube" ]]; then + echo "Fetching id_rsa file from jump_server $INSTALLER_IP..." + sshpass -p r00tme sudo scp $ssh_options root@${INSTALLER_IP}:~/.ssh/id_rsa ${DOVETAIL_CONFIG}/id_rsa + else + cp ${SSH_KEY} ${DOVETAIL_CONFIG}/id_rsa + fi fi if [ "$INSTALLER_TYPE" == "apex" ]; then @@ -147,6 +173,12 @@ if [ "$INSTALLER_TYPE" == "apex" ]; then sudo scp $ssh_options stack@${INSTALLER_IP}:~/.ssh/id_rsa ${DOVETAIL_CONFIG}/id_rsa fi +if [ "$INSTALLER_TYPE" == "daisy" ]; then + echo "Fetching id_dsa file from jump_server $INSTALLER_IP..." + sshpass -p r00tme sudo scp $ssh_options root@${INSTALLER_IP}:~/.ssh/id_dsa ${DOVETAIL_CONFIG}/id_rsa +fi + + image_path=${HOME}/opnfv/dovetail/images if [[ ! -d ${image_path} ]]; then mkdir -p ${image_path} @@ -174,20 +206,26 @@ docker_volume="-v /var/run/docker.sock:/var/run/docker.sock" dovetail_home_volume="-v ${DOVETAIL_HOME}:${DOVETAIL_HOME}" # Pull the image with correct tag -echo "Dovetail: Pulling image opnfv/dovetail:${DOCKER_TAG}" -docker pull opnfv/dovetail:$DOCKER_TAG >$redirect +DOCKER_REPO='opnfv/dovetail' +if [ "$(uname -m)" = 'aarch64' ]; then + DOCKER_REPO="${DOCKER_REPO}_$(uname -m)" + DOCKER_TAG="latest" +fi + +echo "Dovetail: Pulling image ${DOCKER_REPO}:${DOCKER_TAG}" +docker pull ${DOCKER_REPO}:$DOCKER_TAG >$redirect env4bgpvpn="-e INSTALLER_TYPE=${INSTALLER_TYPE} -e INSTALLER_IP=${INSTALLER_IP}" cmd="docker run ${opts} -e DOVETAIL_HOME=${DOVETAIL_HOME} ${docker_volume} ${dovetail_home_volume} \ - ${sshkey} ${env4bgpvpn} opnfv/dovetail:${DOCKER_TAG} /bin/bash" + ${sshkey} ${env4bgpvpn} ${DOCKER_REPO}:${DOCKER_TAG} /bin/bash" echo "Dovetail: running docker run command: ${cmd}" ${cmd} >${redirect} sleep 5 -container_id=$(docker ps | grep "opnfv/dovetail:${DOCKER_TAG}" | awk '{print $1}' | head -1) +container_id=$(docker ps | grep "${DOCKER_REPO}:${DOCKER_TAG}" | awk '{print $1}' | head -1) echo "Container ID=${container_id}" if [ -z ${container_id} ]; then - echo "Cannot find opnfv/dovetail container ID ${container_id}. Please check if it is existing." + echo "Cannot find ${DOCKER_REPO} container ID ${container_id}. Please check if it is existing." docker ps -a exit 1 fi @@ -195,11 +233,25 @@ echo "Container Start: docker start ${container_id}" docker start ${container_id} sleep 5 docker ps >${redirect} -if [ $(docker ps | grep "opnfv/dovetail:${DOCKER_TAG}" | wc -l) == 0 ]; then - echo "The container opnfv/dovetail with ID=${container_id} has not been properly started. Exiting..." +if [ $(docker ps | grep "${DOCKER_REPO}:${DOCKER_TAG}" | wc -l) == 0 ]; then + echo "The container ${DOCKER_REPO} with ID=${container_id} has not been properly started. Exiting..." exit 1 fi +if [[ ! "${SUT_BRANCH}" =~ "danube" && ${INSTALLER_TYPE} == 'fuel' && ${DEPLOY_TYPE} == 'baremetal' ]]; then + source_cmd="source ${OPENRC}" + get_public_url_cmd="openstack --insecure endpoint list --service keystone --interface public | sed -n 4p | awk '{print \$14}'" + public_url=$(sudo docker exec "$container_id" /bin/bash -c "${source_cmd} && ${get_public_url_cmd}") + sed -i 's#OS_AUTH_URL=.*#OS_AUTH_URL='"${public_url}"'#g' ${OPENRC} + sed -i 's/internal/public/g' ${OPENRC} + if [[ ${public_url} =~ 'v2' ]]; then + sed -i "s/OS_IDENTITY_API_VERSION=3/OS_IDENTITY_API_VERSION=2.0/g" ${OPENRC} + sed -i '/OS_PROJECT_DOMAIN_NAME/d' ${OPENRC} + sed -i '/OS_USER_DOMAIN_NAME/d' ${OPENRC} + fi + cat ${OPENRC} +fi + # Modify tempest_conf.yaml file tempest_conf_file=${DOVETAIL_CONFIG}/tempest_conf.yaml if [[ ${INSTALLER_TYPE} == 'compass' || ${INSTALLER_TYPE} == 'apex' ]]; then diff --git a/jjb/fuel/fuel-daily-jobs.yml b/jjb/fuel/fuel-daily-jobs.yml index 98ae4f3e3..902e75499 100644 --- a/jjb/fuel/fuel-daily-jobs.yml +++ b/jjb/fuel/fuel-daily-jobs.yml @@ -200,34 +200,21 @@ build-step-failure-threshold: 'never' failure-threshold: 'never' unstable-threshold: 'FAILURE' - # 1.dovetail only has master, based on D release - # 2.here the stream means the SUT stream, dovetail stream is defined in its own job - # 3.only debug testsuite here(refstack, ha, ipv6, bgpvpn) - # 4.not used for release criteria or compliance, - # only to debug the dovetail tool bugs with bgpvpn and nosdn-nofeature - # 5.only run against scenario os-odl-bgpvpn-ha(regex used here, can extend to more scenarios future) - # 6.ZTE pod1, os-nosdn-nofeature-ha and os-odl-bgpvpn-ha, run against danube - - conditional-step: - condition-kind: and - condition-operands: - - condition-kind: regex-match - regex: os-(nosdn-nofeature|odl_l2-bgpvpn)-ha - label: '{scenario}' - - condition-kind: regex-match - regex: 'danube' - label: '{stream}' - steps: - - trigger-builds: - - project: 'dovetail-fuel-{pod}-proposed_tests-master' - current-parameters: false - predefined-parameters: - DEPLOY_SCENARIO={scenario} - block: true - same-node: true - block-thresholds: - build-step-failure-threshold: 'never' - failure-threshold: 'never' - unstable-threshold: 'FAILURE' + # 1.here the stream means the SUT stream, dovetail stream is defined in its own job + # 2.only debug testsuite here(refstack, ha, vping, ipv6, tempest, bgpvpn) + # 3.not used for release criteria or compliance, only to debug the dovetail tool bugs + # 4.ZTE pod1, os-nosdn-nofeature-ha and os-odl-bgpvpn-ha, run against danube + - trigger-builds: + - project: 'dovetail-fuel-{pod}-proposed_tests-{stream}' + current-parameters: false + predefined-parameters: + DEPLOY_SCENARIO={scenario} + block: true + same-node: true + block-thresholds: + build-step-failure-threshold: 'never' + failure-threshold: 'never' + unstable-threshold: 'FAILURE' - conditional-step: condition-kind: not condition-operand: diff --git a/jjb/qtip/qtip-verify-jobs.yml b/jjb/qtip/qtip-verify-jobs.yml index f772e3917..783c92b04 100644 --- a/jjb/qtip/qtip-verify-jobs.yml +++ b/jjb/qtip/qtip-verify-jobs.yml @@ -8,8 +8,6 @@ project: qtip jobs: - 'qtip-verify-{stream}' - - 'qtip-verify-notebook-{stream}' - - 'qtip-merged-notebook-{stream}' stream: - master: branch: '{stream}' @@ -67,7 +65,8 @@ - publish-coverage - email-jenkins-admins-on-failure -# upload juypter notebook to artifacts for review +# Upload juypter notebook to artifacts for review +# TODO(yujunz): deal with *.ipynb deletion - job-template: name: 'qtip-verify-notebook-{stream}' diff --git a/jjb/releng/compass4nfv-docker.yml b/jjb/releng/compass4nfv-docker.yml index 299908d66..db2e4273b 100644 --- a/jjb/releng/compass4nfv-docker.yml +++ b/jjb/releng/compass4nfv-docker.yml @@ -26,8 +26,7 @@ - 'cobbler' - 'db' - 'deck' - - 'tasks-k8s' - - 'tasks-osa' + - 'tasks-base' # settings for jobs run in multijob phases build-job-settings: &build-job-settings @@ -78,10 +77,10 @@ builders: - multijob: - name: 'build compass-tasks images' + name: 'build compass-tasks-base images' execution-type: PARALLEL projects: - - name: 'compass-tasks-build-amd64-{stream}' + - name: 'compass-tasks-base-build-amd64-{stream}' <<: *build-job-settings - multijob: name: 'build all compass images' @@ -94,9 +93,7 @@ <<: *build-job-settings - name: 'compass-deck-build-amd64-{stream}' <<: *build-job-settings - - name: 'compass-tasks-k8s-build-amd64-{stream}' - <<: *build-job-settings - - name: 'compass-tasks-osa-build-amd64-{stream}' + - name: 'compass-tasks-build-amd64-{stream}' <<: *build-job-settings publishers: diff --git a/jjb/releng/opnfv-docker.sh b/jjb/releng/opnfv-docker.sh index ec7b3fda3..7f646f1d9 100644 --- a/jjb/releng/opnfv-docker.sh +++ b/jjb/releng/opnfv-docker.sh @@ -61,7 +61,9 @@ done # Remove the existing containers and images before building remove_containers_images -cd "$WORKSPACE/$DOCKER_DIR" || exit 1 +DOCKER_PATH=$WORKSPACE/$DOCKER_DIR + +cd $DOCKER_PATH || exit 1 HOST_ARCH="$(uname -m)" #If there is a patch for other arch then x86, apply the patch and #replace Dockerfile file @@ -107,7 +109,8 @@ echo "Building docker image: $DOCKER_REPO_NAME:$DOCKER_TAG" echo "--------------------------------------------------------" echo cmd="docker build --no-cache -t $DOCKER_REPO_NAME:$DOCKER_TAG --build-arg BRANCH=$BUILD_BRANCH - -f $DOCKERFILE ." + $ARCH_BUILD_ARG + -f $DOCKERFILE $DOCKER_PATH" echo ${cmd} ${cmd} diff --git a/jjb/releng/opnfv-docker.yml b/jjb/releng/opnfv-docker.yml index 49b3fde2c..3351a5e94 100644 --- a/jjb/releng/opnfv-docker.yml +++ b/jjb/releng/opnfv-docker.yml @@ -61,6 +61,8 @@ <<: *other-receivers - 'qtip': project: 'qtip' + dockerdir: '.' + dockerfile: 'docker/Dockerfile.local' <<: *master <<: *other-receivers - 'storperf-master': |