diff options
-rw-r--r-- | docs/jenkins-job-builder/index.rst | 13 | ||||
-rw-r--r-- | docs/jenkins-job-builder/opnfv-jjb-usage.rst | 8 | ||||
-rw-r--r-- | docs/jenkins-job-builder/opnfv-logo.png | bin | 0 -> 2829 bytes | |||
-rw-r--r-- | jjb/functest/functest.yml | 4 | ||||
-rw-r--r-- | jjb/genesis/genesis-foreman.yml | 10 | ||||
-rw-r--r-- | jjb/genesis/genesis-fuel.yml | 8 | ||||
-rwxr-xr-x | jjb/releng/docu-build-new.sh | 47 | ||||
-rw-r--r-- | jjb/releng/releng.yml | 60 | ||||
-rw-r--r-- | jjb/yardstick/yardstick.yml | 45 |
9 files changed, 159 insertions, 36 deletions
diff --git a/docs/jenkins-job-builder/index.rst b/docs/jenkins-job-builder/index.rst index c3dbbb811..8c51a290c 100644 --- a/docs/jenkins-job-builder/index.rst +++ b/docs/jenkins-job-builder/index.rst @@ -3,8 +3,14 @@ You can adapt this file completely to your liking, but it should at least contain the root `toctree` directive. +.. image:: opnfv-logo.png + :height: 40 + :width: 200 + :alt: OPNFV + :align: left + Release Engineering Project -================== +=========================== Contents: @@ -17,7 +23,8 @@ Contents: Indices and tables ================== -* :ref:`genindex` -* :ref:`modindex` * :ref:`search` +Revision: _sha1_ + +Build date: |today| diff --git a/docs/jenkins-job-builder/opnfv-jjb-usage.rst b/docs/jenkins-job-builder/opnfv-jjb-usage.rst index 5fb1f9135..c640cc339 100644 --- a/docs/jenkins-job-builder/opnfv-jjb-usage.rst +++ b/docs/jenkins-job-builder/opnfv-jjb-usage.rst @@ -1,3 +1,9 @@ +.. image:: opnfv-logo.png + :height: 40 + :width: 200 + :alt: OPNFV + :align: left + Creating/Configuring/Verifying Jenkins Jobs ============================================ @@ -181,4 +187,4 @@ The Current merge and verify jobs for jenkins job builder as pulled from the rep Revision: _sha1_ -Build date: _date_ +Build date: |today| diff --git a/docs/jenkins-job-builder/opnfv-logo.png b/docs/jenkins-job-builder/opnfv-logo.png Binary files differnew file mode 100644 index 000000000..1519503eb --- /dev/null +++ b/docs/jenkins-job-builder/opnfv-logo.png diff --git a/jjb/functest/functest.yml b/jjb/functest/functest.yml index abd5bdf22..3a7b09e09 100644 --- a/jjb/functest/functest.yml +++ b/jjb/functest/functest.yml @@ -289,7 +289,7 @@ # vPing echo "Functest: run vPing" - python $WORKSPACE/testcases/vPing/CI/libraries/vPing.py --debug $WORKSPACE/ + python $WORKSPACE/testcases/vPing/CI/libraries/vPing.py --debug $WORKSPACE/ -r - job-template: name: functest-{pod} @@ -594,7 +594,7 @@ # vPing echo "Functest: run vPing" - python $WORKSPACE/testcases/vPing/CI/libraries/vPing.py --debug $WORKSPACE/ + python $WORKSPACE/testcases/vPing/CI/libraries/vPing.py --debug $WORKSPACE/ -r # ODL echo "Functest: run ODL suite" diff --git a/jjb/genesis/genesis-foreman.yml b/jjb/genesis/genesis-foreman.yml index 26f0a4035..da4468bd4 100644 --- a/jjb/genesis/genesis-foreman.yml +++ b/jjb/genesis/genesis-foreman.yml @@ -10,14 +10,14 @@ installer: 'foreman' jobs: - - 'genesis-foreman-verify-{stream}' + - 'genesis-foreman-verify-build-{stream}' - 'genesis-foreman-merge-{stream}' - 'genesis-foreman-daily-{stream}' - 'genesis-foreman-build-{stream}' - 'genesis-foreman-deploy-{stream}' - 'genesis-foreman-lab-reconfig-{stream}' - 'genesis-foreman-deploy-runner-{stream}' - - 'genesis-foreman-deploy-virtual-{stream}' + - 'genesis-foreman-verify-deploy-virtual-{stream}' # stream: branch with - in place of / (eg. stable-arno) # branch: branch (eg. stable/arno) @@ -33,7 +33,7 @@ ######################## - job-template: - name: 'genesis-foreman-verify-{stream}' + name: 'genesis-foreman-verify-build-{stream}' project-type: freestyle @@ -371,7 +371,7 @@ - 'foreman-lab-reconfig' - job-template: - name: 'genesis-foreman-deploy-virtual-{stream}' + name: 'genesis-foreman-verify-deploy-virtual-{stream}' project-type: freestyle @@ -428,7 +428,7 @@ pattern: 'common/**' - compare-type: ANT pattern: '{installer}/**' - dependency-jobs: 'genesis-foreman-verify-{stream}' + dependency-jobs: 'genesis-foreman-verify-build-{stream}' builders: diff --git a/jjb/genesis/genesis-fuel.yml b/jjb/genesis/genesis-fuel.yml index a30c279d3..4e1a1208d 100644 --- a/jjb/genesis/genesis-fuel.yml +++ b/jjb/genesis/genesis-fuel.yml @@ -10,14 +10,14 @@ installer: 'fuel' jobs: - - 'genesis-fuel-verify-{stream}' + - 'genesis-fuel-verify-build-{stream}' - 'genesis-fuel-merge-{stream}' - 'genesis-fuel-daily-{stream}' - 'genesis-fuel-build-{stream}' - 'genesis-fuel-deploy-{stream}' - 'genesis-fuel-deploy-runner-{stream}' - 'genesis-fuel-lab-reconfig-{stream}' - - 'genesis-fuel-deploy-virtual-{stream}' + - 'genesis-fuel-verify-deploy-virtual-{stream}' # stream: branch with - in place of / (eg. stable-arno) # branch: branch (eg. stable/arno) @@ -34,7 +34,7 @@ ######################## - job-template: - name: 'genesis-fuel-verify-{stream}' + name: 'genesis-fuel-verify-build-{stream}' project-type: freestyle @@ -376,7 +376,7 @@ - 'fuel-lab-reconfig' - job-template: - name: 'genesis-fuel-deploy-virtual-{stream}' + name: 'genesis-fuel-verify-deploy-virtual-{stream}' project-type: freestyle diff --git a/jjb/releng/docu-build-new.sh b/jjb/releng/docu-build-new.sh index 8c0cc49bb..00d046479 100755 --- a/jjb/releng/docu-build-new.sh +++ b/jjb/releng/docu-build-new.sh @@ -3,6 +3,7 @@ set -e set -o pipefail export PATH=$PATH:/usr/local/bin/ +git_sha1="$(git rev-parse HEAD)" clean() {{ if [[ -d docs/output ]]; then @@ -13,6 +14,15 @@ fi trap clean EXIT TERM INT SIGTERM SIGHUP +#set git_sha1 +files=() +while read -r -d ''; do + files+=("$REPLY") +done < <(find docs/ -type f -iname '*.rst' -print0) +for file in "${{files[@]}}"; do + sed -i "s/_sha1_/$git_sha1/g" $file +done + directories=() while read -d $'\n'; do directories+=("$REPLY") @@ -30,14 +40,22 @@ for dir in "${{directories[@]}}"; do fi sphinx-build -b html -E -c docs/etc/ ""$dir"/" docs/output/"${{dir##*/}}/" + done # NOTE: make sure source parameters for GS paths are not empty. [[ $GERRIT_CHANGE_NUMBER =~ .+ ]] [[ $GERRIT_PROJECT =~ .+ ]] [[ $GERRIT_BRANCH =~ .+ ]] + gs_path_review="artifacts.opnfv.org/review/$GERRIT_CHANGE_NUMBER" +if [[ $GERRIT_BRANCH = "master" ]] ; then + gs_path_branch="artifacts.opnfv.org/$GERRIT_PROJECT" +else + gs_path_branch="artifacts.opnfv.org/$GERRIT_PROJECT/${{GERRIT_BRANCH##*/}}" +fi + for dir in "${{directories[@]}}"; do echo echo "#############################" @@ -45,24 +63,39 @@ for dir in "${{directories[@]}}"; do echo "#############################" echo - if [[ $GERRIT_BRANCH = "master" ]] ; then - gs_path_branch="artifacts.opnfv.org/$GERRIT_PROJECT" - else - gs_path_branch="artifacts.opnfv.org/$GERRIT_PROJECT/${{GERRIT_BRANCH##*/}}" - fi if [[ $JOB_NAME =~ "verify" ]] ; then + + #upload artifacts for verify job gsutil cp -r docs/output/"${{dir##*/}}/" "gs://$gs_path_review/" + # post link to gerrit as comment gerrit_comment="$(echo '"Document is available at 'http://$gs_path_review/"${{dir##*/}}"/index.html' for review"')" echo "$gerrit_comment" ssh -p 29418 gerrit.opnfv.org gerrit review -p $GERRIT_PROJECT -m \ "$gerrit_comment" $GERRIT_PATCHSET_REVISION + #set cache to 0 + for x in $(gsutil ls gs://$gs_path_review/"${{dir##*/}}" | grep html); + do + gsutil setmeta -h "Content-Type:text/html" \ + -h "Cache-Control:private, max-age=0, no-transform" \ + "$x" + done + else - gsutil cp -r docs/output/"${{dir##*/}}/" "gs://$gs_path_branch/" - echo "Latest document is available at http://$gs_path_branch/index.html" + #upload artifacts for merge job + gsutil cp -r docs/output/"${{dir##*/}}" "gs://$gs_path_branch/docs/" + echo "Latest document is available at http://$gs_path_branch/docs/"${{dir##*/}}"/index.html" + + #set cache to 0 + for x in $(gsutil ls gs://$gs_path_branch/"${{dir}}" | grep html); + do + gsutil setmeta -h "Content-Type:text/html" \ + -h "Cache-Control:private, max-age=0, no-transform" \ + "$x" + done #Clean up review when merging if gsutil ls "gs://$gs_path_review" > /dev/null 2>&1 ; then diff --git a/jjb/releng/releng.yml b/jjb/releng/releng.yml index c24fcb065..87a73c490 100644 --- a/jjb/releng/releng.yml +++ b/jjb/releng/releng.yml @@ -9,6 +9,7 @@ jobs: - 'releng-verify' + - 'releng-merge' # stream: branch with - in place of / (eg. stable-arno) # branch: branch (eg. stable/arno) @@ -79,3 +80,62 @@ builders: - shell: !include-raw docu-build-new.sh + + +- job-template: + name: 'releng-merge' + + # builder-merge job to run JJB update + # + # This job's purpose is to update all the JJB + + node: master + + 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: 'utils/**' + - compare-type: ANT + pattern: 'docs/**' + forbidden-file-paths: + - compare-type: ANT + pattern: 'jjb/**' + + builders: + - shell: + !include-raw docu-build-new.sh diff --git a/jjb/yardstick/yardstick.yml b/jjb/yardstick/yardstick.yml index 0365ff294..ac1442de9 100644 --- a/jjb/yardstick/yardstick.yml +++ b/jjb/yardstick/yardstick.yml @@ -194,7 +194,7 @@ builders: - 'yardstick-fetch-os-creds' - - 'yardstick-ping' + - 'yardstick-daily' publishers: - email: @@ -204,7 +204,7 @@ # builder macros ######################## - builder: - name: yardstick-ping + name: yardstick-daily builders: - shell: | #!/bin/bash @@ -220,29 +220,46 @@ fi source $HOME/opnfv-openrc.sh - # check if cirros-0.3.3 image is already available - # if not, create the image - echo "Yardstick: configure the image" - IMAGE_NAME=cirros-0.3.3 - if ! nova image-show $IMAGE_NAME > /dev/null 2>&1; then - echo "Image $IMAGE_NAME doesn't exist. Creating image $IMAGE_NAME" - glance image-create --name cirros-0.3.3 --is-public true --disk-format qcow2 --container-format bare --file $HOME/yardstick/cirros-0.3.3-x86_64-disk.img - fi + # Emergency fix for glance '--is-public' error. + # TODO: This should maybe go into openrc instead!? + export OS_IMAGE_API_VERSION=1 # set virtualenv echo "Yardstick: setup virtualenv" cd $WORKSPACE virtualenv $WORKSPACE/yardstick_venv source $WORKSPACE/yardstick_venv/bin/activate + easy_install -U setuptools python setup.py develop > /dev/null 2>&1 - # set virtualenv - echo "Yardstick: execute ping scenario" - yardstick task start samples/ping.yaml -v -d + echo "Yardstick: configure the images" + # check if cirros-0.3.3 image is already available + # if not, create the image + IMAGE_NAMES[0]=cirros-0.3.3 + if ! nova image-show ${IMAGE_NAMES[0]} > /dev/null 2>&1; then + echo "Image ${IMAGE_NAMES[0]} doesn't exist. Creating image ${IMAGE_NAMES[0]}" + glance image-create --name cirros-0.3.3 --is-public true --disk-format qcow2 --container-format bare --file $HOME/yardstick/cirros-0.3.3-x86_64-disk.img + fi + + # check if yardstick-trusty image is already available + # if not, create the image to $WORKSPACE + IMAGE_NAMES[1]=yardstick-trusty-server + if ! nova image-show ${IMAGE_NAMES[1]} > /dev/null 2>&1; then + echo "Image ${IMAGE_NAMES[1]} doesn't exist. Creating image ${IMAGE_NAMES[1]}" + sudo yardstick-img-modify $WORKSPACE/tools/ubuntu-server-cloudimg-modify.sh + glance image-create --name yardstick-trusty-server --is-public true --disk-format qcow2 --container-format bare --file $WORKSPACE/yardstick-trusty-server.img + fi + + # execute tasks + echo "Yardstick: execute scenarios" + ./ci/run_tasks.sh # cleanup echo "Yardstick: cleanup" - glance image-delete $IMAGE_NAME + for IMAGE_NAME in ${IMAGE_NAMES[@]} + do + glance image-delete $IMAGE_NAME + done # done echo "Yardstick: done!" |