diff options
-rw-r--r-- | docs/jenkins-job-builder/opnfv-jjb-usage.rst | 179 | ||||
-rw-r--r-- | jjb/apex/apex.yml | 16 | ||||
-rw-r--r-- | jjb/apex/opnfv-apex.yml | 4 | ||||
-rw-r--r-- | jjb/compass4nfv/compass4nfv.yml | 36 | ||||
-rw-r--r-- | jjb/compass4nfv/opnfv-compass4nfv.yml | 4 | ||||
-rw-r--r-- | jjb/fuel/opnfv-fuel.yml | 74 | ||||
-rw-r--r-- | jjb/functest/functest.yml | 28 | ||||
-rw-r--r-- | jjb/functest/res-build.sh | 6 | ||||
-rw-r--r-- | jjb/joid/joid.yml | 4 | ||||
-rw-r--r-- | jjb/opnfv/installer-params.yml | 40 | ||||
-rw-r--r-- | jjb/opnfv/pod-params.yml | 57 | ||||
-rw-r--r-- | jjb/vswitchperf/vswitchperf.yml | 67 | ||||
-rwxr-xr-x | utils/docs-build.sh | 57 |
13 files changed, 282 insertions, 290 deletions
diff --git a/docs/jenkins-job-builder/opnfv-jjb-usage.rst b/docs/jenkins-job-builder/opnfv-jjb-usage.rst index 7daacaffb..6e2b6e2b5 100644 --- a/docs/jenkins-job-builder/opnfv-jjb-usage.rst +++ b/docs/jenkins-job-builder/opnfv-jjb-usage.rst @@ -2,40 +2,50 @@ Creating/Configuring/Verifying Jenkins Jobs =========================================== -Clone the repo:: +Clone and setup the repo:: - git clone ssh://YOU@gerrit.opnfv.org:29418/releng + git clone ssh://YOU@gerrit.opnfv.org:29418/releng + cd releng + git review -s -make changes:: +Make changes:: - git commit -sv - git review - remote: Resolving deltas: 100% (3/3) - remote: Processing changes: new: 1, refs: 1, done - remote: - remote: New Changes: - remote: https://gerrit.opnfv.org/gerrit/51 - remote: - To ssh://agardner@gerrit.opnfv.org:29418/releng.git - * [new branch] HEAD -> refs/publish/master + git commit -sv + git review + remote: Resolving deltas: 100% (3/3) + remote: Processing changes: new: 1, refs: 1, done + remote: + remote: New Changes: + remote: https://gerrit.opnfv.org/gerrit/51 + remote: + To ssh://agardner@gerrit.opnfv.org:29418/releng.git + * [new branch] HEAD -> refs/publish/master -Follow the link to gerrit https://gerrit.opnfv.org/gerrit/51 in a few moments the verify job will have completed and you will see Verified +1 jenkins-ci in the gerrit ui. +Follow the link to gerrit https://gerrit.opnfv.org/gerrit/51 in a few moments +the verify job will have completed and you will see Verified +1 jenkins-ci in +the gerrit ui. -If the changes pass the verify job https://build.opnfv.org/ci/view/builder/job/builder-verify-jjb/ The patch can be submitited by a committer. +If the changes pass the verify job +https://build.opnfv.org/ci/view/builder/job/builder-verify-jjb/ , +the patch can be submitited by a committer. Job Types * Verify Job - * Trigger: **recheck** or **reverify** + * Trigger: **recheck** or **reverify** * Merge Job - * Trigger: **remerge** + * Trigger: **remerge** -The verify and merge jobs are retriggerable in Gerrit by simply leaving a comment with one of the keywords listed above. This is useful in case you need to re-run one of those jobs in case if build issues or something changed with the environment. +The verify and merge jobs are retriggerable in Gerrit by simply leaving +a comment with one of the keywords listed above. +This is useful in case you need to re-run one of those jobs in case +if build issues or something changed with the environment. -You can add below persons as reviewers to your patch in order to get it reviewed and submitted. +You can add below persons as reviewers to your patch in order to get it +reviewed and submitted. * fatih.degirmenci@ericsson.com * agardner@linuxfoundation.org @@ -50,129 +60,8 @@ You can add below persons as reviewers to your patch in order to get it reviewed Or just email a request for submission to opnfv-helpdesk@rt.linuxfoundation.org -The Current merge and verify jobs for jenkins job builder as pulled from the repo:: - -**releng-jobs.yaml**: - -.. code-block:: bash - - - project: - name: builder-jobs - jobs: - - 'builder-verify-jjb' - - 'builder-merge' - - project: 'releng' - - - job-template: - name: builder-verify-jjb - - node: master - - project-type: freestyle - - logrotate: - daysToKeep: 30 - numToKeep: 10 - artifactDaysToKeep: -1 - artifactNumToKeep: -1 - - parameters: - - project-parameter: - project: '{project}' - - gerrit-parameter: - branch: 'master' - scm: - - gerrit-trigger-scm: - credentials-id: '{ssh-credentials}' - refspec: '$GERRIT_REFSPEC' - choosing-strategy: 'gerrit' - - wrappers: - - ssh-agent-credentials: - user: '{ssh-credentials}' - - 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: 'releng' - branches: - - branch-compare-type: 'ANT' - branch-pattern: '**/master' - file-paths: - - compare-type: ANT - pattern: jjb/** - - compare-type: ANT - pattern: jjb-templates/** - - - builders: - - shell: - !include-raw verify-releng - - - job-template: - name: 'builder-merge' - - node: master - - # builder-merge job to run JJB update - # - # This job's purpose is to update all the JJB - - project-type: freestyle - - logrotate: - daysToKeep: 30 - numToKeep: 40 - artifactDaysToKeep: -1 - artifactNumToKeep: 5 - - parameters: - - project-parameter: - project: '{project}' - - gerrit-parameter: - branch: 'master' - - scm: - - gerrit-trigger-scm: - credentials-id: '{ssh-credentials}' - refspec: '' - choosing-strategy: 'default' - - wrappers: - - ssh-agent-credentials: - user: '{ssh-credentials}' - - triggers: - - gerrit: - trigger-on: - - change-merged-event - - comment-added-contains-event: - comment-contains-value: 'remerge' - projects: - - project-compare-type: 'ANT' - project-pattern: 'releng' - branches: - - branch-compare-type: 'ANT' - branch-pattern: '**/master' - file-paths: - - compare-type: ANT - pattern: jjb/** - - builders: - - shell: | - source /opt/virtualenv/jenkins-job-builder/bin/activate - cd /opt/jenkins-ci/releng - git pull - jenkins-jobs update --delete-old jjb/ +The Current merge and verify jobs for jenkins job builder can be found +in `releng-jobs.yaml`_. + +.. _releng-jobs.yaml: + https://gerrit.opnfv.org/gerrit/gitweb?p=releng.git;a=blob;f=jjb/releng-jobs.yaml; diff --git a/jjb/apex/apex.yml b/jjb/apex/apex.yml index 90418dbb3..14c472b1e 100644 --- a/jjb/apex/apex.yml +++ b/jjb/apex/apex.yml @@ -14,8 +14,6 @@ - master: branch: 'master' gs-pathname: '' - flags: '-fM' - disabled: false project: 'apex' @@ -27,7 +25,6 @@ parameters: - apex-parameter: gs-pathname: '{gs-pathname}' - flags: '{flags}' - project-parameter: project: '{project}' - gerrit-parameter: @@ -90,7 +87,6 @@ parameters: - apex-parameter: gs-pathname: '{gs-pathname}' - flags: '{flags}' - project-parameter: project: '{project}' - gerrit-parameter: @@ -144,7 +140,6 @@ project: '{project}' - apex-parameter: gs-pathname: '{gs-pathname}' - flags: '{flags}' - gerrit-parameter: branch: '{branch}' - string: @@ -187,7 +182,6 @@ project: '{project}' - apex-parameter: gs-pathname: '{gs-pathname}' - flags: '{flags}' builders: - 'apex-deploy-virtual' @@ -216,7 +210,6 @@ project: '{project}' - apex-parameter: gs-pathname: '{gs-pathname}' - flags: '{flags}' builders: - 'apex-workspace-cleanup' @@ -244,7 +237,6 @@ project: '{project}' - apex-parameter: gs-pathname: '{gs-pathname}' - flags: '{flags}' properties: - build-blocker: @@ -300,10 +292,6 @@ name: GS_URL default: artifacts.opnfv.org/$PROJECT/{gs-pathname} description: "URL to Google Storage." - - string: - name: FLAGS - default: '{flags}' - description: "Build Flags" ######################## # builder macros @@ -319,8 +307,6 @@ # log info to console echo "Starting the build of Apex using OpenStack Master packages. This will take some time..." echo "---------------------------------------------------------------------------------------" - echo "Build flags for this build are ${FLAGS}" - echo "---------------------------------------------------------------------------------------" echo # create the cache directory if it doesn't exist [[ -d $CACHE_DIRECTORY ]] || mkdir -p $CACHE_DIRECTORY @@ -328,7 +314,7 @@ export OPNFV_ARTIFACT_VERSION=$(date -u +"%Y-%m-%d_%H-%M-%S") # start the build cd $WORKSPACE/ci - ./build.sh $FLAGS -v $OPNFV_ARTIFACT_VERSION -c file://$CACHE_DIRECTORY $BUILD_DIRECTORY + ./build.sh -v $OPNFV_ARTIFACT_VERSION -c file://$CACHE_DIRECTORY $BUILD_DIRECTORY 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 diff --git a/jjb/apex/opnfv-apex.yml b/jjb/apex/opnfv-apex.yml index de2947cec..5240bbabb 100644 --- a/jjb/apex/opnfv-apex.yml +++ b/jjb/apex/opnfv-apex.yml @@ -80,5 +80,5 @@ builders: - shell: | #!/bin/bash - echo "Hello World from OPNFV $INSTALLER_NAME" - echo "Running $INSTALLER_NAME with controller $CONTROLLER" + echo "Hello World from OPNFV $INSTALLER_TYPE" + echo "Running $INSTALLER_TYPE with controller $CONTROLLER" diff --git a/jjb/compass4nfv/compass4nfv.yml b/jjb/compass4nfv/compass4nfv.yml index 40402011c..3645bbba3 100644 --- a/jjb/compass4nfv/compass4nfv.yml +++ b/jjb/compass4nfv/compass4nfv.yml @@ -7,8 +7,8 @@ jobs: - 'compass-verify-{stream}' - 'compass-daily-{stream}' - - 'compass-build-iso' - - 'compass-build-ppa' + - 'compass-build-iso-{stream}' + - 'compass-build-ppa-{stream}' - 'compass-deploy-virtual-{flavor}' - 'compass-deploy-bare-huawei-us' @@ -56,7 +56,7 @@ - project-parameter: project: '{project}' - gerrit-parameter: - branch: 'master' + branch: '{branch}' - compass-parameter: installer: '{installer}' - string: @@ -86,7 +86,7 @@ project-pattern: '{project}' branches: - branch-compare-type: 'ANT' - branch-pattern: '**/master' + branch-pattern: '**/{branch}' forbidden-file-paths: - compare-type: ANT pattern: 'docs/**|.gitignore' @@ -130,7 +130,7 @@ builders: - trigger-builds: - - project: 'compass-build-iso' + - project: 'compass-build-iso-{stream}' git-revision: true block: true - trigger-builds: @@ -147,7 +147,7 @@ block: true - job-template: - name: 'compass-build-iso' + name: 'compass-build-iso-{stream}' node: ericsson-build @@ -169,7 +169,7 @@ - git-scm: credentials-id: '{ssh-credentials}' refspec: '' - branch: 'master' + branch: '{branch}' builders: - 'builder-compass-build-iso' @@ -177,7 +177,7 @@ - 'builder-compass-workspace-cleanup' - job-template: - name: 'compass-build-ppa' + name: 'compass-build-ppa-{stream}' description: "build ppa(using docker) in huawei lab" @@ -201,7 +201,7 @@ - git-scm: credentials-id: '{ssh-credentials}' refspec: '' - branch: 'master' + branch: '{branch}' triggers: - timed: 'H 16 * * *' @@ -315,6 +315,16 @@ - string: name: PPA_CACHE default: "$WORKSPACE/work/repo/" + - choice: + name: COMPASS_OPENSTACK_VERSION + choices: + - 'liberty' + - 'juno' + - choice: + name: COMPASS_OS_VERSION + choices: + - 'ubuntu-trusty' + - 'rhel7' ######################## # builder macros @@ -405,6 +415,8 @@ export EXTERNAL_NIC=vnic_ci cd $WORKSPACE + export OS_VERSION=${COMPASS_OS_VERSION} + export OPENSTACK_VERSION=${COMPASS_OPENSTACK_VERSION} ./deploy.sh $FLAVOR_CONF if [ $? -ne 0 ]; then echo "depolyment failed!" @@ -416,7 +428,7 @@ 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_juno-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 @@ -439,6 +451,8 @@ cd $WORKSPACE + export OS_VERSION=${COMPASS_OS_VERSION} + export OPENSTACK_VERSION=${COMPASS_OPENSTACK_VERSION} ./deploy.sh --dha $CONFDIR/dha.yml --network $CONFDIR/network.yml if [ $? -ne 0 ]; then echo "depolyment failed!" @@ -450,7 +464,7 @@ 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_juno-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/opnfv-compass4nfv.yml b/jjb/compass4nfv/opnfv-compass4nfv.yml index c647abcf8..288c7abe6 100644 --- a/jjb/compass4nfv/opnfv-compass4nfv.yml +++ b/jjb/compass4nfv/opnfv-compass4nfv.yml @@ -80,5 +80,5 @@ builders: - shell: | #!/bin/bash - echo "Hello World from OPNFV $INSTALLER_NAME" - echo "Running $INSTALLER_NAME with controller $CONTROLLER" + echo "Hello World from OPNFV $INSTALLER_TYPE" + echo "Running $INSTALLER_TYPE with controller $CONTROLLER" diff --git a/jjb/fuel/opnfv-fuel.yml b/jjb/fuel/opnfv-fuel.yml index aec85bc9c..393f919d0 100644 --- a/jjb/fuel/opnfv-fuel.yml +++ b/jjb/fuel/opnfv-fuel.yml @@ -19,31 +19,41 @@ loop: - 'daily' + # ignore these as these will not exist in real job + dummy-phase: + - build + - deploy + - functest + - yardstick + stream: - master: branch: 'master' gs-pathname: '' jobs: - - 'opnfv-fuel-{controller}-{pod}-{loop}-{stream}' - - 'opnfv-fuel-deploy-{pod}-{loop}-{stream}' + - 'tmp_fuel-{controller}-{pod}-{loop}-{stream}' + - 'tmp_fuel-{dummy-phase}-{pod}-{loop}-{stream}' ######################## # job templates ######################## - job-template: - name: 'opnfv-fuel-{controller}-{pod}-{loop}-{stream}' - - disabled: true + name: 'tmp_fuel-{controller}-{pod}-{loop}-{stream}' - concurrent: false + project-type: multijob parameters: - project-parameter: project: '{installer}' - 'ericsson-ca-build-1-defaults' - - '{installer}-defaults': - controller: '{controller}' + - '{installer}-defaults' + - string: + name: CONTROLLER + default: '{controller}' + - string: + name: FEATURE + default: 'none' scm: - git-scm: @@ -52,17 +62,36 @@ branch: '{branch}' builders: - - trigger-builds: - - project: 'opnfv-fuel-daily-deploy-{stream}' - git-revision: true - block: true - predefined-parameters: - CONTROLLER={controller} + - multijob: + name: build + condition: SUCCESSFUL + projects: + - name: 'tmp_fuel-build-{loop}-{stream}' + kill-phase-on: FAILURE + current-parameters: true + - multijob: + name: deploy + condition: SUCCESSFUL + projects: + - name: 'tmp_fuel-deploy-{pod}-{loop}-{stream}' + kill-phase-on: FAILURE + current-parameters: true + - multijob: + name: functest + projects: + - name: 'tmp_fuel-test-{pod}-{loop}-{stream}' + current-parameters: true + - multijob: + name: yardstick + projects: + - name: 'tmp_fuel-test-{pod}-{loop}-{stream}' + current-parameters: true + - job-template: - name: 'opnfv-fuel-deploy-{pod}-{loop}-{stream}' + name: 'tmp_fuel-{dummy-phase}-{pod}-{loop}-{stream}' - disabled: true + disabled: false concurrent: false @@ -73,9 +102,14 @@ parameters: - project-parameter: project: '{installer}' - - '{pod}-defaults': - loop: '{loop}' + - '{pod}-defaults' - '{installer}-defaults' + - string: + name: CONTROLLER + default: 'none' + - string: + name: FEATURE + default: 'none' scm: - git-scm: @@ -86,5 +120,5 @@ builders: - shell: | #!/bin/bash - echo "Hello World from OPNFV $INSTALLER_NAME" - echo "Running $INSTALLER_NAME with controller $CONTROLLER" + echo "Hello World from OPNFV $INSTALLER_TYPE" + echo "Running $INSTALLER_TYPE with controller $CONTROLLER" diff --git a/jjb/functest/functest.yml b/jjb/functest/functest.yml index 33f060644..346b678ac 100644 --- a/jjb/functest/functest.yml +++ b/jjb/functest/functest.yml @@ -152,7 +152,7 @@ - 'functest-cleanup' - 'set-functest-env' - 'functest-all' -# - 'functest-store-results' + - 'functest-store-results' - builder: name: functest-suite-builder @@ -190,22 +190,34 @@ - shell: | #!/bin/bash set +e + # labconfig is used only for joid + labconfig="" if [[ ${INSTALLER_TYPE} == 'apex' ]]; then INSTALLER_IP=$(grep instack /var/lib/libvirt/dnsmasq/default.leases \ |awk '{print $3}' | head -n 1) sshkey="-v /root/.ssh/id_rsa:/root/.ssh/id_rsa" + sudo iptables -D FORWARD -o virbr0 -j REJECT --reject-with icmp-port-unreachable + sudo iptables -D FORWARD -i virbr0 -j REJECT --reject-with icmp-port-unreachable + elif [[ ${INSTALLER_TYPE} == 'joid' ]]; then + # If production lab then creds may be retrieved dynamically + # creds are on the jumphost, always in the same folder + labconfig="-v /home/ubuntu/joid/ci/cloud/admin-openrc:/home/opnfv/functest/conf/openstack.creds" + # If dev lab, credentials may not be the default ones, just provide a path to put them into docker + # replace the default one by the customized one provided by jenkins config + if [ -n "${LAB_CONFIG}" ]; then + labconfig="-v ${LAB_CONFIG}:/home/opnfv/functest/conf/openstack.creds" + fi fi echo "Functest: Start Docker and prepare environment" envs="INSTALLER_TYPE=${INSTALLER_TYPE} -e INSTALLER_IP=${INSTALLER_IP} -e NODE_NAME=${NODE_NAME}" - labconfig="" - # If production lab then creds may be retrieved dynamically - # If dev lab, credentials may not be the default ones, just provide a path to put them into docker - if [ -n "${LAB_CONFIG}" ]; then - labconfig="-v ${LAB_CONFIG}:/home/opnfv/functest/conf/openstack.creds" - fi + + dir_result="${HOME}/opnfv/functest/reports" + mkdir -f ${dir_result} + rm -rf ${dir_result}/* + $res_volume="-v ${dir_result}:/home/opnfv/functest/results" docker pull opnfv/functest:latest_stable - cmd="docker run -id -e $envs ${labconfig} ${sshkey} opnfv/functest:latest_stable /bin/bash" + cmd="docker run -id -e $envs ${labconfig} ${sshkey} ${res_volume} opnfv/functest:latest_stable /bin/bash" echo "Functest: Running docker run command: ${cmd}" ${cmd} docker ps -a diff --git a/jjb/functest/res-build.sh b/jjb/functest/res-build.sh index a9c5dbe1b..9d425773d 100644 --- a/jjb/functest/res-build.sh +++ b/jjb/functest/res-build.sh @@ -7,9 +7,9 @@ export PATH=$PATH:/usr/local/bin/ git_sha1="$(git rev-parse HEAD)" res_build_date=$(date -u +"%Y-%m-%d_%H-%M-%S") -# Result directory in the docker file +# Result directory in the jumphost # to be used only with CI -dir_result="/home/opnfv/functest/results" +dir_result="${HOME}/opnfv/functest/reports" # Clean the results directory # remove json file for rally, export only html @@ -20,7 +20,7 @@ rm -f $dir_result/rally/*.json # date is generated by functest so on the artifact, the results shall be under functest/<testbed id>/date/ testbed=$NODE_NAME -project_artifact=functest/$testbed/$res_build_date +project_artifact=logs/functest/$testbed/$res_build_date # copy folder to artifact if [ -d "$dir_result" ]; then diff --git a/jjb/joid/joid.yml b/jjb/joid/joid.yml index fdeddc680..28b019fcd 100644 --- a/jjb/joid/joid.yml +++ b/jjb/joid/joid.yml @@ -88,7 +88,7 @@ builders: - shell: | #!/bin/bash - echo "Running $INSTALLER_NAME with controller $CONTROLLER" + echo "Running $INSTALLER_TYPE with controller $CONTROLLER" echo "Please note that this is a quick try to see how joid deployment works" echo echo "Executing clean.sh" @@ -107,7 +107,7 @@ builders: - shell: | #!/bin/bash - echo "Running $INSTALLER_NAME with controller $CONTROLLER" + echo "Running $INSTALLER_TYPE with controller $CONTROLLER" echo "Please note that this is WIP generic builder" echo echo "Executing clean.sh" diff --git a/jjb/opnfv/installer-params.yml b/jjb/opnfv/installer-params.yml index 956e67da8..64945c656 100644 --- a/jjb/opnfv/installer-params.yml +++ b/jjb/opnfv/installer-params.yml @@ -6,17 +6,9 @@ default: '192.168.X.X' description: 'IP of the installer' - string: - name: INSTALLER_NAME - default: apex - description: 'Installer used for deploying OPNFV on this POD' - - string: name: INSTALLER_TYPE - default: $INSTALLER_NAME + default: apex description: 'Installer used for deploying OPNFV on this POD' - - string: - name: CONTROLLER - default: none - description: 'Controller name' - parameter: name: 'compass-defaults' @@ -26,17 +18,9 @@ default: '192.168.200.2' description: 'IP of the installer' - string: - name: INSTALLER_NAME - default: compass4nfv - description: 'Installer used for deploying OPNFV on this POD' - - string: name: INSTALLER_TYPE - default: $INSTALLER_NAME + default: compass description: 'Installer used for deploying OPNFV on this POD' - - string: - name: CONTROLLER - default: none - description: 'Controller name' - parameter: name: 'fuel-defaults' @@ -46,17 +30,9 @@ default: '10.20.0.2' description: 'IP of the installer' - string: - name: INSTALLER_NAME - default: fuel - description: 'Installer used for deploying OPNFV on this POD' - - string: name: INSTALLER_TYPE - default: $INSTALLER_NAME + default: fuel description: 'Installer used for deploying OPNFV on this POD' - - string: - name: CONTROLLER - default: none - description: 'Controller name' - parameter: name: 'joid-defaults' @@ -66,14 +42,6 @@ default: '192.168.Y.Y' description: 'IP of the installer' - string: - name: INSTALLER_NAME - default: joid - description: 'Installer used for deploying OPNFV on this POD' - - string: name: INSTALLER_TYPE - default: $INSTALLER_NAME + default: joid description: 'Installer used for deploying OPNFV on this POD' - - string: - name: CONTROLLER - default: none - description: 'Controller name' diff --git a/jjb/opnfv/pod-params.yml b/jjb/opnfv/pod-params.yml index 317f5cdc1..e36a0b684 100644 --- a/jjb/opnfv/pod-params.yml +++ b/jjb/opnfv/pod-params.yml @@ -102,6 +102,21 @@ description: 'SSH key to use for Apex' - parameter: + name: 'intel-pod3-defaults' + parameters: + - node: + name: SLAVE_NAME + description: 'Slave name on Jenkins' + allowed-slaves: + - intel-pod3 + default-slaves: + - intel-pod3 + - string: + name: GIT_BASE + default: https://gerrit.opnfv.org/gerrit/$PROJECT + description: 'Git URL to use on the jumphost' + +- parameter: name: 'intel-pod5-defaults' parameters: - node: @@ -296,3 +311,45 @@ name: GIT_BASE default: https://gerrit.opnfv.org/gerrit/$PROJECT description: 'Git URL to use on the jumphost' + +- parameter: + name: 'intel-us-deploy-virtual-1-defaults' + parameters: + - node: + name: SLAVE_NAME + description: 'Slave name on Jenkins' + allowed-slaves: + - intel-us-deploy-virtual-1 + default-slaves: + - intel-us-deploy-virtual-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 the jumphost' + +- parameter: + name: 'intel-us-deploy-virtual-2-defaults' + parameters: + - node: + name: SLAVE_NAME + description: 'Slave name on Jenkins' + allowed-slaves: + - intel-us-deploy-virtual-2 + default-slaves: + - intel-us-deploy-virtual-2 + - 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 the jumphost' + - string: + name: SSH_KEY + default: /root/.ssh/id_rsa + description: 'SSH key to use for Apex' diff --git a/jjb/vswitchperf/vswitchperf.yml b/jjb/vswitchperf/vswitchperf.yml index b4bc70f84..a06507a14 100644 --- a/jjb/vswitchperf/vswitchperf.yml +++ b/jjb/vswitchperf/vswitchperf.yml @@ -1,37 +1,31 @@ - project: + name: vswitchperf + + project: '{name}' + jobs: - - 'vswitchperf-daily-{stream}' - - 'vswitchperf-merge-{stream}' - 'vswitchperf-verify-{stream}' + - 'vswitchperf-merge-{stream}' + - 'vswitchperf-daily-{stream}' - # stream: branch with - in place of / (eg. stable-helium) - # branch: branch (eg. stable/helium) +# only master branch is enabled at the moment to keep no of jobs sane stream: - master: branch: 'master' - - project: 'vswitchperf' - somevar: 'foo' + gs-pathname: '' +# - brahmaputra: +# branch: 'stable/brahmaputra' +# gs-pathname: '/brahmaputra' - job-template: - name: 'vswitchperf-daily-{stream}' - # Job template for daily builders - # - # Required Variables: - # stream: branch with - in place of / (eg. stable) - # branch: branch (eg. stable) - - varsetabove: '{somevar}' - node: opnfv-build + name: 'vswitchperf-daily-{stream}' parameters: - project-parameter: project: '{project}' - - string: - name: GIT_BASE - default: https://gerrit.opnfv.org/gerrit/vswitchperf + - 'intel-pod3-defaults' scm: - git-scm: @@ -42,9 +36,6 @@ triggers: - timed: 'H H * * *' - prebuilders: - - test-macro - builders: - shell: | pwd @@ -54,16 +45,11 @@ # run basic sanity test make sanity - postbuilders: - - test-macro - - job-template: name: 'vswitchperf-verify-{stream}' project-type: freestyle - node: opnfv-build - concurrent: true properties: @@ -76,10 +62,9 @@ - project-parameter: project: '{project}' - gerrit-parameter: - branch: 'master' - - string: - name: GIT_BASE - default: https://gerrit.opnfv.org/gerrit/vswitchperf + branch: '{branch}' + - 'opnfv-build-defaults' + scm: - gerrit-trigger-scm: credentials-id: '{ssh-credentials}' @@ -100,10 +85,10 @@ comment-contains-value: 'reverify' projects: - project-compare-type: 'ANT' - project-pattern: 'vswitchperf' + project-pattern: '{project}' branches: - branch-compare-type: 'ANT' - branch-pattern: '**/master' + branch-pattern: '**/{branch}' forbidden-file-paths: - compare-type: ANT pattern: 'docs/**' @@ -120,14 +105,8 @@ - job-template: name: 'vswitchperf-merge-{stream}' - # builder-merge job to run JJB update - # - # This job's purpose is to update all the JJB - project-type: freestyle - node: opnfv-build - concurrent: true properties: @@ -140,10 +119,8 @@ - project-parameter: project: '{project}' - gerrit-parameter: - branch: 'master' - - string: - name: GIT_BASE - default: https://gerrit.opnfv.org/gerrit/vswitchperf + branch: '{branch}' + - 'opnfv-build-defaults' scm: - gerrit-trigger-scm: @@ -159,10 +136,10 @@ comment-contains-value: 'remerge' projects: - project-compare-type: 'ANT' - project-pattern: 'vswitchperf' + project-pattern: '{project}' branches: - branch-compare-type: 'ANT' - branch-pattern: '**/master' + branch-pattern: '**/{branch}' forbidden-file-paths: - compare-type: ANT pattern: 'docs/**' diff --git a/utils/docs-build.sh b/utils/docs-build.sh index bf9ab5b1e..fc607fa15 100755 --- a/utils/docs-build.sh +++ b/utils/docs-build.sh @@ -38,6 +38,26 @@ html_notes="\n Revision: $rev_full\n\n Build date: |today|" default_conf='releng/docs/etc/conf.py' opnfv_logo='releng/docs/etc/opnfv-logo.png' +function check_rst_doc() { + _src="$1" + + if ! which doc8 > /dev/null ; then + echo "Error: 'doc8' not found. Exec 'sudo pip install doc8' first." + exit 1 + fi + # Note: This check may fail in many jobs for building project docs, since + # the old sample has lines more than 120. We ignore failures on this + # check right now, but these have to be fixed before OPNFV B release. + _out=$(doc8 --max-line-length 120 "$_src") || { + _msg='Error: rst validatino (doc8) has failed, please fix the following error(s).' + _errs=$(echo "$_out" | sed -n -e "/^$_src/s/^/ /p") + echo + echo -e "$_msg\n$_errs" + echo + [[ -n "$GERRIT_COMMENT" ]] && echo -e "$_msg\n$_errs" >> "$GERRIT_COMMENT" + } +} + function add_html_notes() { _src="$1" _dir="$2" @@ -64,6 +84,36 @@ function add_config() { fi } +function is_top_dir() { + [[ "$1" == "$SRC_DIR" ]] +} + +function generate_name_for_top_dir() { + for suffix in '' '.top' '.all' '.master' '_' '__' '___' + do + _name="$(basename $SRC_DIR)$suffix" + [[ -e "$SRC_DIR/$_name" ]] && continue + echo "$_name" + return + done + + echo "Error: cannot find name for top directory [$SRC_DIR]" + exit 1 +} + +function generate_name() { + _dir=$1 + + if is_top_dir "$_dir" ; then + _name=$(generate_name_for_top_dir $SRC_DIR) + else + _name="${_dir#$SRC_DIR/}" + fi + # Replace '/' by '_' + echo "${_name////_}" +} + +check_rst_doc $SRC_DIR if [[ ! -d "$RELENG_DIR" ]] ; then echo "Error: $RELENG_DIR dir not found. See https://wiki.opnfv.org/documentation/tools ." @@ -72,7 +122,7 @@ fi find $SRC_DIR -name $INDEX_RST -printf '%h\n' | while read dir do - name="${dir##*/}" + name=$(generate_name $dir) src="$BUILD_DIR/src/$name" build="$BUILD_DIR/$name" output="$OUTPUT_DIR/$name" @@ -121,4 +171,9 @@ do [[ -n "$GERRIT_COMMENT" ]] && echo "$msg" >> "$GERRIT_COMMENT" } + if is_top_dir "$dir" ; then + mv "$output"/* "$OUTPUT_DIR"/ + rm -rf "$output" + fi + done |