*.swp
+/build/
+/output/
+/releng/
'''
-Base configuration file for sphinx-build.
+Base configuration file for building OPNFV docs
You can override this configuration by putting 'conf.py' in the document
-directory (e.g. how-to-use-docs/conf.py). If there is no 'conf.py' in the
-document directory, this file will be copied to that directory before the
-document builder jobs in 'opnfv-docs-verify' and 'opnfv-docs-merge'.
-The logo image (opnfv-logo.png) will be also copied from
-docs/etc/opnfv-logo.png during the build jobs.
-'''
+directory (e.g. docs/how-to-use-docs/conf.py). If there is no 'conf.py'
+in the document directory, this file will be copied to that directory
+before the document builder jobs ('opnfv-docs-verify' and 'opnfv-docs-merge').
-import datetime
+See https://wiki.opnfv.org/documentation/tools .
+'''
needs_sphinx = '1.3'
master_doc = 'index'
numfig = True
html_logo = 'opnfv-logo.png'
-latex_elements = {'printindex': ''}
+latex_domain_indices = False
latex_logo = 'opnfv-logo.png'
-
-copyright = u'%s, OPNFV' % datetime.date.today().year
-version = u'1.0.0'
-release = u'1.0.0'
+==================================================
How to create documentation for your OPNFV project
==================================================
-this is the directory structure of the docs/ directory that can be found in the root of your project directory
+Directory Structure
+===================
+
+This is the directory structure of the docs/ directory which have to be placed
+in the root of your project directory.
.. code-block:: bash
- ./etc
- ./etc/opnfv-logo.png
- ./etc/conf.py
- ./how-to-use-docs
./how-to-use-docs/documentation-example.rst
./how-to-use-docs/index.rst
-To create your own documentation, Create any number of directories (depending on your need) and place in each of them an index.rst.
-This index file must refence your other rst files.
+To create your own document, create any number of directories (depending
+on your need, e.g. manual) under the docs/ and place an index.rst in each
+directories.
+The depth of all directory should be one, so that you can make sure that
+all directory names are unique. If you want to have set of all documents in
+your repo, create new ``docs/all/index.rst`` and list document links in OPNFV
+artifact server (artifact.opnfv.org) instead of including all other rst files
+or having ``docs/index.rst``, in order to avoid having duplicated contents in
+your documents.
+
+Note:
+You may have "docs/how-to-use-docs/" in you project repo. You can delete it,
+since it is sample and master version is stored in releng repo.
+
+Index File
+==========
+
+This index file must refence your other rst files in that directory.
+
+Here is an example index.rst :
+
+.. code-block:: bash
+
+ *******************
+ Documentation Title
+ *******************
+
+ .. toctree::
+ :numbered:
+ :maxdepth: 2
+
+ documentation-example.rst
-* Here is an example index.rst
+Source Files
+============
+
+Document source files have to be written in reStructuredText format (rst).
+Each file would be build as an html page and a chapter in PDF.
+
+Here is an example source rst file :
.. code-block:: bash
- =====================
- Example Documentation
- =====================
+ =============
+ Chapter Title
+ =============
- Contents:
+ Section Title
+ =============
- .. toctree::
- :numbered:
- :maxdepth: 4
+ Hello!
- documentation-example.rst
+Writing RST Markdown
+====================
- ..
- Leave these at the bottom of 'index.rst' file
+See http://sphinx-doc.org/rest.html .
- Revision: _sha1_
+You can add dedicated contents by using 'only' directive with build type
+('html' and 'pdf') for OPNFV document
- Build date: |today|
+Example :
+.. code-block:: bash
-The Sphinx Build
-================
+ .. only:: html
+ This line will be shown only in html version.
-When you push documentation changes to gerrit a jenkins job will create html documentation.
+Configuration
+=============
-* Verify Jobs
+If you need to change the default configuration for document build, create
+new conf.py in the document directory (e.g. 'docs/how-to-use-docs/conf.py')
+that will be used in build process instead of default for OPNFV document
+build. The OPNFV default configuration can be found in releng repo
+(see `conf.py`_).
-For verify jobs a link to the documentation will show up as a comment in gerrit for you to see the result.
+.. _conf.py:
+ https://gerrit.opnfv.org/gerrit/gitweb?p=releng.git;a=blob;f=docs/etc/conf.py;
-* Merge jobs
+In the build process, the following parameters are automatically added if they
+are not set in the conf.py .
-Once you are happy with the look of your documentation you can submit the patchset the merge job will
-copy the output of each documentation directory to http://artifacts.opnfv.org/$project/docs/$name_of_your_folder/index.html
+* **release**, **version** : ``git last tag name`` (``git last commit hash``)
+* **project** : ``git repo name``
+* **copyright** : ``year``, OPNFV
+* **latex_documents** (set of pdf configuration) :
+ [('index', '``document directory name``.tex',
+ '``document title in index.rst``', 'OPNFV', 'manual'),]
-Here are some quick examples of how to use rst markup
+See http://sphinx-doc.org/config.html to learn sphinx configuration.
-This is a headline::
+Note: you can leave the file path for OPNFV logo image which will be prepared
+before each document build.
- here is some code, note that it is indented
+Versioning
+==========
-links are easy to add: Here is a link to sphinx, the tool that we are using to generate documetation http://sphinx-doc.org/
+The relevant release and version information will be added to your documents
+by using tags from your project's git repository.
+The tags will be applied by Releng Project.
-* Bulleted Items
+Testing
+=======
- **this will be bold**
+You can test document build in your laptop by using build script which is
+used in document build jobs:
.. code-block:: bash
- echo "Heres is a code block with bash syntax highlighting"
+ $ cd /loacal/repo/path/to/project
+ $ git clone ssh://gerrit.opnfv.org:29418/releng
+ $ ./releng/utils/docs-build.sh
+
+Then, you can see docs in output directory if build succeeded.
+
+This script will generate files in 'build' and 'output'. You should consider
+to add the following entries in '.gitignore' file, so that git can ignore
+built files.
+
+.. code-block:: bash
+
+ /build/
+ /output/
+ /releng/
+
+Verify Jobs
+===========
+
+The verify job name is **opnfv-docs-verify**.
+
+When you send document changes to gerrit, jenkins will create your documents
+in HTML and PDF formats to verify that new document can be built successfully.
+Please check the jenkins log and artifact carefully.
+You can improve your document even though if the build job succeeded.
+
+Documents will be uploaded to
+``http://artifacts.opnfv.org/review/<Change Number>/`` for review.
+Those documents will be replaced if you update the change by sending new
+patch set to gerrit, and deleted after the change is merged.
+Document link(s) can be found in your change page on gerrit as a review
+comment.
+
+Note:
+Currently, the job reports 'SUCCESS' as result of document build even if the
+PDF creation failed. This is a provisional workaround, since many projects are
+not ready for PDF creation yet.
+
+Merge Jobs
+==========
+
+The merge job name is **opnfv-docs-merge**.
+
+Once you are happy with the look of your documentation, you can submit the
+change. Then, the merge job will upload latest build documents to
+``http://artifacts.opnfv.org/<Project Name>/docs/`` .
+You can put links in your project wiki page, so that everyone can see the
+latest document always.
..
- This is new template created on Thu Nov 26 16:18:09 JST 2015
+ This is new template created on Nov 27, 2015.
-=====================
+*********************
Example Documentation
-=====================
+*********************
.. toctree::
:numbered:
- :maxdepth: 4
+ :maxdepth: 2
documentation-example.rst
-
-..
- Leave these at the bottom of 'index.rst' file
-
-Revision: _sha1_
-
-Build date: |today|
-===========================
+***************************
Release Engineering Project
-===========================
+***************************
.. toctree::
:numbered:
- :maxdepth: 8
+ :maxdepth: 2
opnfv-jjb-usage.rst
-
-Revision: _sha1_
-
-Build date: |today|
+===========================================
Creating/Configuring/Verifying Jenkins Jobs
-============================================
+===========================================
Clone the repo::
jobs:
- 'apex-verify-{stream}'
- 'apex-merge-{stream}'
+ - 'apex-build-{stream}'
+ - 'apex-deploy-virtual-{stream}'
+ - 'apex-deploy-baremetal-{stream}'
- 'apex-daily-{stream}'
# stream: branch with - in place of / (eg. stable-arno)
node: opnfv-jump-1
- project-type: freestyle
-
logrotate:
daysToKeep: 30
numToKeep: 10
- compare-type: ANT
pattern: 'docs/**'
+ properties:
+ - build-blocker:
+ use-build-blocker: true
+ blocking-jobs:
+ - "apex-daily.*"
+
builders:
- 'apex-build'
- 'apex-deploy-virtual'
node: opnfv-jump-1
- project-type: freestyle
-
- logrotate:
- daysToKeep: 30
- numToKeep: 40
- artifactDaysToKeep: -1
- artifactNumToKeep: 5
-
parameters:
- apex-parameter:
gs-pathname: '{gs-pathname}'
- 'apex-workspace-cleanup'
- job-template:
- name: 'apex-daily-{stream}'
+ name: 'apex-build-{stream}'
- # Job template for daily builders
+ # Job template for builds
#
# Required Variables:
# stream: branch with - in place of / (eg. stable)
disabled: false
- project-type: freestyle
-
- logrotate:
- daysToKeep: '{build-days-to-keep}'
- numToKeep: '{build-num-to-keep}'
- artifactDaysToKeep: '{build-artifact-days-to-keep}'
- artifactNumToKeep: '{build-artifact-num-to-keep}'
-
parameters:
- project-parameter:
project: '{project}'
- 'apex-deploy-virtual'
- 'apex-upload-artifact'
- 'apex-workspace-cleanup'
+
+- job-template:
+ name: 'apex-deploy-virtual-{stream}'
+
+ # Job template for virtual deployment
+ #
+ # Required Variables:
+ # stream: branch with - in place of / (eg. stable)
+ # branch: branch (eg. stable)
+ node: opnfv-jump-1
+
+ disabled: false
+
+ parameters:
+ - project-parameter:
+ project: '{project}'
+ - apex-parameter:
+ gs-pathname: '{gs-pathname}'
+ flags: '{flags}'
+
+ builders:
+ - 'apex-deploy-virtual'
+ - 'apex-workspace-cleanup'
+
+- job-template:
+ name: 'apex-deploy-baremetal-{stream}'
+
+ # Job template for baremetal deployment
+ #
+ # Required Variables:
+ # stream: branch with - in place of / (eg. stable)
+ # branch: branch (eg. stable)
+ node: opnfv-jump-1
+
+ disabled: true
+
+ parameters:
+ - project-parameter:
+ project: '{project}'
+ - apex-parameter:
+ gs-pathname: '{gs-pathname}'
+ flags: '{flags}'
+
+ builders:
+ - 'apex-workspace-cleanup'
+
+- job-template:
+ name: 'apex-daily-{stream}'
+
+ # Job template for daily build
+ #
+ # Required Variables:
+ # stream: branch with - in place of / (eg. stable)
+ # branch: branch (eg. stable)
+ node: opnfv-jump-1
+
+ disabled: false
+
+ parameters:
+ - project-parameter:
+ project: '{project}'
+ - apex-parameter:
+ gs-pathname: '{gs-pathname}'
+ flags: '{flags}'
+
+ properties:
+ - build-blocker:
+ use-build-blocker: true
+ blocking-jobs:
+ - "apex-daily.*"
+ builders:
+ - trigger-builds:
+ - project: 'apex-build-{stream}'
+ git-revision: true
+ block: true
+ - trigger-builds:
+ - project: 'apex-deploy-virtual-{stream}'
+ git-revision: true
+ block: true
+ - trigger-builds:
+ - project: 'apex-deploy-baremetal-{stream}'
- trigger-builds:
- project: 'functest-apex-{stream}'
block: true
- parameter:
name: apex-parameter
parameters:
+ - string:
+ name: ARTIFACT_NAME
+ default: ''
+ description: "RPM Artifact name that will be appended to GS_URL to deploy a specific artifact"
- string:
name: BUILD_DIRECTORY
default: $WORKSPACE/build_output
echo "--------------------------------------------------------"
echo
- # source the file so we get OPNFV vars
+ if [[ -z "$ARTIFACT_NAME" ]]; then
+ # if artifact name is passed the pull a
+ # specific artifact from artifacts.opnfv.org
+ RPM_INSTALL_PATH=$GS_URL/$ARTIFACT_NAME
+ else
+ if [[ -f opnfv.properties ]]; then
+ # if opnfv.properties exists then use the
+ # local build. Source the file so we get local OPNFV vars
+ source opnfv.properties
+ RPM_INSTALL_PATH=build_output/$(basename $OPNFV_RPM_URL)
+ else
+ # no opnfv.properties means use the latest from artifacts.opnfv.org
+ # get the latest.properties to get the link to the latest artifact
+ curl -s -o $WORKSPACE/opnfv.properties http://$GS_URL/latest.properties
+ [[ -f opnfv.properties ]] || exit 1
+ # source the file so we get OPNFV vars
+ source opnfv.properties
+ RPM_INSTALL_PATH=$RPM_URL
+ fi
+ fi
+
source opnfv.properties
RPM_INSTALL_PATH=build_output/$(basename $OPNFV_RPM_URL)
- job-template:
name: armband-test
- project-type: freestyle
-
logrotate:
daysToKeep: 30
numToKeep: 10
- job-template:
name: 'armband-daily-{stream}'
- node: master
-
# Job template for daily builders
#
# Required Variables:
# stream: branch with - in place of / (eg. stable)
# branch: branch (eg. stable)
- project-type: freestyle
varsetabove: '{somevar}'
- logrotate:
- daysToKeep: '{build-days-to-keep}'
- numToKeep: '{build-num-to-keep}'
- artifactDaysToKeep: '{build-artifact-days-to-keep}'
- artifactNumToKeep: '{build-artifact-num-to-keep}'
-
parameters:
- project-parameter:
project: '{project}'
node: ericsson-build
- project-type: freestyle
-
logrotate:
daysToKeep: 30
numToKeep: 10
- job-template:
name: 'armband-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}'
- job-template:
name: availability-test
- project-type: freestyle
-
logrotate:
daysToKeep: 30
numToKeep: 10
# Required Variables:
# stream: branch with - in place of / (eg. stable)
# branch: branch (eg. stable)
- node: master
- project-type: freestyle
varsetabove: '{somevar}'
- logrotate:
- daysToKeep: '{build-days-to-keep}'
- numToKeep: '{build-num-to-keep}'
- artifactDaysToKeep: '{build-artifact-days-to-keep}'
- artifactNumToKeep: '{build-artifact-num-to-keep}'
-
parameters:
- project-parameter:
project: '{project}'
- job-template:
name: 'availability-verify'
- node: master
-
- project-type: freestyle
-
logrotate:
daysToKeep: 30
numToKeep: 10
#
# 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}'
- shell:
!include-raw docu-build.sh
-
-
-
-
-
jobs:
- 'bottlenecks-test'
- 'bottlenecks-verify'
- - 'bottlenecks-daily-{stream}'
- 'bottlenecks-merge'
+ - 'bottlenecks-daily-{installer}-{pod}-{stream}'
# stream: branch with - in place of / (eg. stable-arno)
# branch: branch (eg. stable/arno)
+ pod:
+ - lf:
+ node: 'opnfv-jump-2'
+ installer_type: 'fuel'
+ installer_ip: '10.20.0.2'
+
+ installer:
+ -fuel
+
stream:
- master:
branch: 'master'
- job-template:
name: 'bottlenecks-test'
- project-type: freestyle
-
logrotate:
daysToKeep: 30
numToKeep: 10
echo "Hello world from bottlenecks"
- job-template:
- name: 'bottlenecks-daily-{stream}'
-
- node: master
-
- # Job template for daily builders
- #
- # Required Variables:
- # stream: branch with - in place of / (eg. stable)
- # branch: branch (eg. stable)
-
- project-type: freestyle
- varsetabove: '{somevar}'
- logrotate:
- daysToKeep: 30
- numToKeep: 10
- artifactDaysToKeep: -1
- artifactNumToKeep: -1
-
- parameters:
- - project-parameter:
- project: '{project}'
-
- scm:
- - git-scm:
- credentials-id: '{ssh-credentials}'
- refspec: ''
- branch: '{branch}'
-
- triggers:
- - timed: 'H H * * *'
-
- prebuilders:
- - test-macro
-
- builders:
- - shell: |
- echo "hello world"
-
- postbuilders:
- - test-macro
-
-- job-template:
name: 'bottlenecks-verify'
- node: master
-
- project-type: freestyle
-
logrotate:
daysToKeep: 30
numToKeep: 10
- job-template:
name: 'bottlenecks-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
- shell: |
echo "hello world"
+- job-template:
+ name: 'bottlenecks-daily-{installer}-{pod}-{stream}'
+
+ disabled: false
+
+ node: '{node}'
+
+ parameters:
+ - project-parameter:
+ project: '{project}'
+ - '{pod}-parameters'
+ - string:
+ name: POD_NAME
+ default: '{pod}'
+ description: "POD where the job runs"
+ - 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."
+
+ scm:
+ - git-scm:
+ credentials-id: '{ssh-credentials}'
+ refspec: ''
+ branch: '{branch}'
+
+ logrotate:
+ daysToKeep: 30
+ numToKeep: 10
+ artifactDaysToKeep: -1
+ artifactNumToKeep: -1
+
+ triggers:
+ - 'bottlenecks-trigger-{pod}'
+
+ builders:
+ - 'bottlenecks-fetch-os-creds'
+ - 'run-rubbos-env-preparation'
+ - 'run-rubbos-tools-installation'
+ - 'rubbos-exec'
+
+ publishers:
+ - email:
+ recipients: hongbo.tianhongbo@huawei.com matthew.lijun@huawei.com
+
+###################################
+#builders for bottlenecks project
+###################################
+- builder:
+ name: bottlenecks-fetch-os-creds
+ builders:
+ - shell:
+ !include-raw ../../utils/fetch_os_creds.sh
+
+- builder:
+ name: run-rubbos-env-preparation
+ builders:
+ - shell: |
+ #!/bin/bash
+ set -o errexit
+
+ echo "Bottlenecks: export openstack parameters before rubbos running"
+
+ cd $WORKSPACE
+ ./rubbos/rubbos_scripts/1-1-1/scripts/env_preparation.sh
+
+- builder:
+ name: run-rubbos-tools-installation
+ builders:
+ - shell: |
+ #!/bin/bash
+ set -o errexit
+
+ echo "Bottlenecks: to install tools to run rubbos"
+
+ cd $WORKSPACE
+ ./rubbos/rubbos_scripts/1-1-1/scripts/run.sh
+
+- builder:
+ name: rubbos-exec
+ builders:
+ - shell: |
+ #!/bin/bash
+ set -o errexit
+
+ echo "Bottlenecks: rubbos execution"
+
+ cd $WORKSPACE
+ cd ./rubbos/rubbos_scripts/1-1-1
+ source set_bottlenecks_rubbos_env.sh
+ ssh $CONTROL_HOST
+ ./tmp/CONTROL_rubbos_exec.sh
+
+#######################
+#trigger macros
+#######################
+- trigger:
+ name: 'bottlenecks-trigger-lf'
+ triggers:
+ - timed: '@midnight'
- job-template:
name: 'compass-verify'
- project-type: freestyle
-
disabled: false
node: 'huawei-deploy-vm'
refspec: '$GERRIT_REFSPEC'
choosing-strategy: 'gerrit'
-
triggers:
- gerrit:
trigger-on:
#
# This job's purpose is to update all the JJB
- project-type: freestyle
-
node: huawei-build
concurrent: true
max-total: 3
max-per-node: 1
- logrotate:
- daysToKeep: 30
- numToKeep: 40
- artifactDaysToKeep: -1
- artifactNumToKeep: 5
-
parameters:
- project-parameter:
project: '{project}'
- job-template:
name: 'compass-daily-{stream}'
- project-type: freestyle
-
node: huawei-build
concurrent: true
- job-template:
name: 'compass-build-iso'
- project-type: freestyle
-
node: ericsson-build
concurrent: true
description: "build ppa(using docker) in huawei lab"
- project-type: freestyle
-
node: huawei-build
concurrent: true
- job-template:
name: 'compass-deploy-virtual-{flavor}'
- project-type: freestyle
-
disabled: false
node: '{node}'
default: '{conf}'
description: ""
-
logrotate:
daysToKeep: 30
numToKeep: 10
artifactDaysToKeep: -1
artifactNumToKeep: -1
-
builders:
- 'builder-compass-ci-preclean-workspace'
- 'builder-compass-download-artifact'
allow-empty: 'true'
fingerprint: true
-
- job-template:
name: 'compass-deploy-bare-huawei-us'
- project-type: freestyle
-
disabled: false
node: 'huawei-us-deploy-bare-1'
allow-empty: 'true'
fingerprint: true
-
########################
# parameter macros
########################
gsutil cp $BUILD_DIRECTORY/opnfv.properties gs://$GS_URL/opnfv-$OPNFV_ARTIFACT_VERSION.properties > gsutil.properties.log 2>&1
gsutil cp $BUILD_DIRECTORY/opnfv.properties gs://$GS_URL/latest.properties > gsutil.latest.log 2>&1
-
echo
echo "--------------------------------------------------------"
echo "Done!"
- job-template:
name: conductor-test
- project-type: freestyle
-
logrotate:
daysToKeep: 30
numToKeep: 10
# stream: branch with - in place of / (eg. stable)
# branch: branch (eg. stable)
- project-type: freestyle
varsetabove: '{somevar}'
- logrotate:
- daysToKeep: '{build-days-to-keep}'
- numToKeep: '{build-num-to-keep}'
- artifactDaysToKeep: '{build-artifact-days-to-keep}'
- artifactNumToKeep: '{build-artifact-num-to-keep}'
-
parameters:
- project-parameter:
project: '{project}'
- job-template:
name: 'conductor-verify'
- project-type: freestyle
-
logrotate:
daysToKeep: 30
numToKeep: 10
#
# 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}'
- job-template:
name: copper-test
- project-type: freestyle
-
logrotate:
daysToKeep: 30
numToKeep: 10
- job_defaults: &job_defaults
name: job_defaults
- node: master
- project-type: freestyle
- logrotate:
- daysToKeep: '{build-days-to-keep}'
- numToKeep: '{build-num-to-keep}'
- artifactDaysToKeep: '{build-artifact-days-to-keep}'
- artifactNumToKeep: '{build-artifact-num-to-keep}'
parameters:
- project-parameter:
project: '{project}'
- job-template:
name: dpacc-test
- project-type: freestyle
-
logrotate:
daysToKeep: 30
numToKeep: 10
# stream: branch with - in place of / (eg. stable)
# branch: branch (eg. stable)
- project-type: freestyle
varsetabove: '{somevar}'
- logrotate:
- daysToKeep: '{build-days-to-keep}'
- numToKeep: '{build-num-to-keep}'
- artifactDaysToKeep: '{build-artifact-days-to-keep}'
- artifactNumToKeep: '{build-artifact-num-to-keep}'
-
parameters:
- project-parameter:
project: '{project}'
- job-template:
name: 'dpacc-verify'
- project-type: freestyle
-
logrotate:
daysToKeep: 30
numToKeep: 10
#
# 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}'
- job-template:
name: fastpathmetrics-test
- project-type: freestyle
-
logrotate:
daysToKeep: 30
numToKeep: 10
# stream: branch with - in place of / (eg. stable)
# branch: branch (eg. stable)
- project-type: freestyle
varsetabove: '{somevar}'
- logrotate:
- daysToKeep: '{build-days-to-keep}'
- numToKeep: '{build-num-to-keep}'
- artifactDaysToKeep: '{build-artifact-days-to-keep}'
- artifactNumToKeep: '{build-artifact-num-to-keep}'
-
parameters:
- project-parameter:
project: '{project}'
- job-template:
name: 'fastpathmetrics-verify'
- project-type: freestyle
-
logrotate:
daysToKeep: 30
numToKeep: 10
#
# 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}'
find .
echo "merge logic goes here"
-
-
-
-
-
chmod a+x $TMPDIR
# set CONFDIR, BRIDGE
-CONFDIR=$WORKSPACE/deploy/templates/virtual_environment/conf
+CONFDIR=$WORKSPACE/deploy/templates/virtual_environment_noha/conf
BRIDGE=pxebr
# log info to console
# 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
gsutil cp $WORKSPACE/opnfv.properties gs://$GS_URL/opnfv-$OPNFV_ARTIFACT_VERSION.properties > gsutil.properties.log 2>&1
-if [[ "$JOB_NAME" =~ "daily" ]]; then
+if [[ ! "$JOB_NAME" =~ (verify|merge) ]]; then
gsutil cp $WORKSPACE/opnfv.properties gs://$GS_URL/latest.properties > gsutil.latest.log 2>&1
elif [[ "$JOB_NAME" =~ "merge" ]]; then
echo "Uploaded Fuel ISO for a merged change"
- job-template:
name: 'fuel-verify-build-{stream}'
- project-type: freestyle
-
node: ericsson-build
concurrent: true
- job-template:
name: 'fuel-merge-build-{stream}'
- project-type: freestyle
-
node: ericsson-build
concurrent: true
enabled: true
max-total: 2
- logrotate:
- daysToKeep: 30
- numToKeep: 40
- artifactDaysToKeep: -1
- artifactNumToKeep: 5
-
parameters:
- project-parameter:
project: '{project}'
- job-template:
name: 'fuel-merge-deploy-virtual-{stream}'
- project-type: freestyle
-
node: fuel-deploy-virtual
concurrent: true
max-total: 2
max-per-node: 1
- logrotate:
- daysToKeep: 30
- numToKeep: 40
- artifactDaysToKeep: -1
- artifactNumToKeep: 5
-
parameters:
- project-parameter:
project: '{project}'
- job-template:
name: 'fuel-daily-{stream}'
- project-type: freestyle
-
node: ericsson-build
disabled: false
refspec: ''
branch: '{branch}'
- logrotate:
- daysToKeep: '{build-days-to-keep}'
- numToKeep: '{build-num-to-keep}'
- artifactDaysToKeep: '{build-artifact-days-to-keep}'
- artifactNumToKeep: '{build-artifact-num-to-keep}'
-
builders:
- trigger-builds:
- project: 'fuel-build-{stream}'
build-step-failure-threshold: 'never'
failure-threshold: 'never'
unstable-threshold: 'FAILURE'
+ - trigger-builds:
+ - project: 'bottlenecks-daily-fuel-lf-{stream}'
+ block: true
+ block-thresholds:
+ build-step-failure-threshold: 'never'
+ failure-threshold: 'never'
+ unstable-threshold: 'FAILURE'
triggers:
- 'fuel-{stream}-daily-trigger'
- job-template:
name: 'fuel-build-{stream}'
- project-type: freestyle
-
node: ericsson-build
logrotate:
- job-template:
name: 'fuel-deploy-{stream}'
- project-type: freestyle
-
disabled: false
node: opnfv-jump-2
- job-template:
name: 'fuel-lab-reconfig-{stream}'
- project-type: freestyle
-
disabled: true
- node: master
-
logrotate:
daysToKeep: 30
numToKeep: 10
- job-template:
name: set-functest-env-{pod}
- project-type: freestyle
-
node: '{pod}'
logrotate:
builders:
- 'set-functest-env'
-
-
- job-template:
name: clean-functest-env-{pod}
- project-type: freestyle
-
node: '{pod}'
logrotate:
builders:
- 'functest-cleanup'
-
- job-template:
name: set-functest-env-{installer}-{stream}
- project-type: freestyle
-
node: '{node}'
logrotate:
builders:
- 'set-functest-env'
-
- job-template:
name: clean-functest-env-{installer}-{stream}
- project-type: freestyle
-
node: '{node}'
logrotate:
- job-template:
name: functest-openstack-bench-test-{pod}
- project-type: freestyle
-
node: '{pod}'
logrotate:
builders:
- 'functest-rally-bench'
-
- job-template:
name: functest-openstack-tempest-smoke-test-{pod}
- project-type: freestyle
-
node: '{pod}'
logrotate:
- job-template:
name: functest-odl-test-{pod}
- project-type: freestyle
-
node: '{pod}'
logrotate:
- shell: |
- 'functest-odl'
-
- job-template:
name: functest-vping-test-{pod}
- project-type: freestyle
-
node: '{pod}'
logrotate:
builders:
- 'functest-vping'
-
- job-template:
name: functest-{pod}
- project-type: freestyle
-
node: '{pod}'
parameters:
- job-template:
name: functest-{installer}-{stream}
- project-type: freestyle
-
node: '{node}'
parameters:
- job-template:
name: functest-vims-{installer}-{stream}
- project-type: freestyle
-
node: '{node}'
parameters:
- job-template:
name: 'functest-daily-{stream}'
- node: master
-
# Job template for daily builders
#
# Required Variables:
# stream: branch with - in place of / (eg. stable)
# branch: branch (eg. stable)
- project-type: freestyle
varsetabove: '{somevar}'
- logrotate:
- daysToKeep: '{build-days-to-keep}'
- numToKeep: '{build-num-to-keep}'
- artifactDaysToKeep: '{build-artifact-days-to-keep}'
- artifactNumToKeep: '{build-artifact-num-to-keep}'
-
parameters:
- project-parameter:
project: '{project}'
- job-template:
name: 'functest-verify-{stream}'
- node: master
-
- project-type: freestyle
-
logrotate:
daysToKeep: 30
numToKeep: 10
- job-template:
name: 'functest-merge-{stream}'
- 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}'
container_id=$(docker ps -a | grep opnfv/functest | awk '{print $1}' | head -1)
docker exec $container_id $cmd
-
- builder:
name: set-functest-env
builders:
envs="INSTALLER_TYPE=${INSTALLER_TYPE} -e INSTALLER_IP=${INSTALLER_IP}"
docker pull opnfv/functest:latest_stable
echo "Functest: Running docker run command: docker run -i -e $envs opnfv/functest /bin/bash &"
- docker run -i -e $envs opnfv/functest /bin/bash &
+ docker run -i -e $envs opnfv/functest:latest_stable /bin/bash &
docker ps -a
sleep 5
- container_id=$(docker ps -a | grep opnfv/functest | awk '{print $1}' | head -1)
+ container_id=$(docker ps | grep 'opnfv/functest:latest_stable' | awk '{print $1}' | head -1)
echo "Container ID=${container_id}"
if [ -z ${container_id} ]; then
echo "Cannot find opnfv/functest container ID ${container_id}. Please check if it is existing."
docker start ${container_id}
sleep 5
docker ps
- if [ $(docker ps | grep opnfv/functest | wc -l) == 0 ]; then
+ if [ $(docker ps | grep 'opnfv/functest:latest_stable' | wc -l) == 0 ]; then
echo "The container opnfv/functest with ID=${container_id} has not been properly started. Exiting..."
exit 1
fi
echo "Executing command inside the docker: ${cmd}"
docker exec ${container_id} ${cmd}
-
- builder:
name: functest-vping
builders:
container_id=$(docker ps -a | grep opnfv/functest | awk '{print $1}' | head -1)
docker exec $container_id $cmd
-
-
- builder:
name: functest-rally-bench
builders:
container_id=$(docker ps -a | grep opnfv/functest | awk '{print $1}' | head -1)
docker exec $container_id $cmd
-
- builder:
name: functest-vims
builders:
container_id=$(docker ps -a | grep opnfv/functest | awk '{print $1}' | head -1)
docker exec $container_id $cmd
-
-
- builder:
name: functest-store-results
builders:
docker ps -a | grep opnfv/functest | awk '{print $1}' | xargs docker rm
fi
-
# Remove existing images if exist
if [[ ! -z $(docker images | grep opnfv/functest) ]]; then
echo "Docker images to remove:"
node: gce-opnfv-docker-1
- project-type: freestyle
-
- logrotate:
- daysToKeep: 30
- numToKeep: 40
- artifactDaysToKeep: -1
- artifactNumToKeep: 5
-
parameters:
- project-parameter:
project: '{project}'
node: gce-opnfv-docker-1
- project-type: freestyle
-
- logrotate:
- daysToKeep: 30
- numToKeep: 40
- artifactDaysToKeep: -1
- artifactNumToKeep: 5
-
parameters:
- project-parameter:
project: '{project}'
refspec: '$GERRIT_REFSPEC'
choosing-strategy: 'gerrit'
-
triggers:
- gerrit:
trigger-on:
- job-template:
name: 'genesis-foreman-verify-build-{stream}'
- project-type: freestyle
-
node: ericsson-build
concurrent: true
- job-template:
name: 'genesis-foreman-merge-{stream}'
- project-type: freestyle
-
node: ericsson-build
concurrent: true
enabled: true
max-total: 2
- logrotate:
- daysToKeep: 30
- numToKeep: 40
- artifactDaysToKeep: -1
- artifactNumToKeep: 5
-
parameters:
- project-parameter:
project: '{project}'
- job-template:
name: 'genesis-foreman-daily-{stream}'
- project-type: freestyle
-
node: ericsson-build
disabled: '{obj:disabled}'
- job-template:
name: 'genesis-foreman-deploy-runner-{stream}'
- project-type: freestyle
-
disabled: false
- node: master
-
logrotate:
daysToKeep: 30
numToKeep: 10
- job-template:
name: 'genesis-foreman-build-{stream}'
- project-type: freestyle
-
node: ericsson-build
logrotate:
- job-template:
name: 'genesis-foreman-deploy-{stream}'
- project-type: freestyle
-
disabled: false
node: opnfv-jump-2
- job-template:
name: 'genesis-foreman-lab-reconfig-{stream}'
- project-type: freestyle
-
disabled: false
- node: master
-
logrotate:
daysToKeep: 30
numToKeep: 10
- job-template:
name: 'genesis-foreman-verify-deploy-virtual-{stream}'
- project-type: freestyle
-
node: opnfv-jump-1
disabled: true
pattern: '{installer}/docs/**'
dependency-jobs: 'genesis-foreman-verify-build-{stream}'
-
builders:
- 'foreman-deploy-virtual'
- job-template:
name: 'genesis-{installer}-daily-att-{stream}'
- project-type: freestyle
-
node: att-build
parameters:
builders:
- '{installer}-daily-master-att'
-
-
########################
# builder macros
########################
-
- builder:
name: fuel-daily-master-att
builders:
- job-template:
name: 'genesis-{installer}-daily-dell-{stream}'
- project-type: freestyle
-
node: dell-build
parameters:
builders:
- '{installer}-daily-master-dell'
-
-
########################
# builder macros
########################
-
- builder:
name: fuel-daily-master-dell
builders:
- job-template:
name: 'genesis-fuel-verify-build-{stream}'
- project-type: freestyle
-
node: ericsson-build
concurrent: true
- job-template:
name: 'genesis-fuel-merge-{stream}'
- project-type: freestyle
-
node: ericsson-build
concurrent: true
enabled: true
max-total: 2
- logrotate:
- daysToKeep: 30
- numToKeep: 40
- artifactDaysToKeep: -1
- artifactNumToKeep: 5
-
parameters:
- project-parameter:
project: '{project}'
- job-template:
name: 'genesis-fuel-daily-{stream}'
- project-type: freestyle
-
node: ericsson-build
disabled: '{obj:disabled}'
- job-template:
name: 'genesis-fuel-deploy-runner-{stream}'
- project-type: freestyle
-
disabled: false
- node: master
-
logrotate:
daysToKeep: 30
numToKeep: 10
- job-template:
name: 'genesis-fuel-build-{stream}'
- project-type: freestyle
-
node: ericsson-build
logrotate:
- job-template:
name: 'genesis-fuel-deploy-{stream}'
- project-type: freestyle
-
disabled: false
node: opnfv-jump-2
- job-template:
name: 'genesis-fuel-lab-reconfig-{stream}'
- project-type: freestyle
-
disabled: false
- node: master
-
logrotate:
daysToKeep: 30
numToKeep: 10
- job-template:
name: 'genesis-fuel-verify-deploy-virtual-{stream}'
- project-type: freestyle
-
disabled: true
node: ericsson-build
- job-template:
name: 'genesis-juju-verify'
- project-type: freestyle
-
node: ericsson-build
logrotate:
- compare-type: ANT
pattern: 'juju/**'
-
builders:
- 'juju-verify'
#
# This job's purpose is to update all the JJB
- project-type: freestyle
-
node: ericsson-build
- logrotate:
- daysToKeep: 30
- numToKeep: 40
- artifactDaysToKeep: -1
- artifactNumToKeep: 5
-
parameters:
- string:
name: BUILD_DIRECTORY
- job-template:
name: 'genesis-juju-daily-{stream}'
- project-type: freestyle
-
node: ericsson-build
parameters:
- job-template:
name: ipv6-test
- project-type: freestyle
-
logrotate:
daysToKeep: 30
numToKeep: 10
# stream: branch with - in place of / (eg. stable)
# branch: branch (eg. stable)
- project-type: freestyle
varsetabove: '{somevar}'
- logrotate:
- daysToKeep: '{build-days-to-keep}'
- numToKeep: '{build-num-to-keep}'
- artifactDaysToKeep: '{build-artifact-days-to-keep}'
- artifactNumToKeep: '{build-artifact-num-to-keep}'
-
parameters:
- project-parameter:
project: '{project}'
- job-template:
name: 'ipv6-verify'
- project-type: freestyle
-
logrotate:
daysToKeep: 30
numToKeep: 10
#
# 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}'
find .
echo "merge logic goes here"
-
-
-
-
-
node: ericsson-build
- project-type: freestyle
-
logrotate:
daysToKeep: 30
numToKeep: 10
node: ericsson-build
- project-type: freestyle
-
- logrotate:
- daysToKeep: 30
- numToKeep: 40
- artifactDaysToKeep: -1
- artifactNumToKeep: 5
-
parameters:
- project-parameter:
project: '{project}'
- job-template:
name: octopus-test
- project-type: freestyle
-
logrotate:
daysToKeep: 30
numToKeep: 10
- job-template:
name: 'octopus-daily-{stream}'
- node: master
-
# Job template for daily builders
#
# Required Variables:
# stream: branch with - in place of / (eg. stable)
# branch: branch (eg. stable)
- project-type: freestyle
varsetabove: '{somevar}'
- logrotate:
- daysToKeep: '{build-days-to-keep}'
- numToKeep: '{build-num-to-keep}'
- artifactDaysToKeep: '{build-artifact-days-to-keep}'
- artifactNumToKeep: '{build-artifact-num-to-keep}'
-
parameters:
- project-parameter:
project: '{project}'
- job-template:
name: 'octopus-verify-{stream}'
- node: master
-
- project-type: freestyle
-
logrotate:
daysToKeep: 30
numToKeep: 10
- job-template:
name: 'octopus-merge-{stream}'
- 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}'
refspec: ''
choosing-strategy: 'default'
-
triggers:
- gerrit:
trigger-on:
- shell:
!include-raw ../opnfvdocs/docu-build.sh
-
########################
## parameter macros
#########################
- job-template:
name: '{project}-docker-build-push-{stream}'
- project-type: freestyle
-
node: ericsson-build
disabled: false
refspec: ''
branch: '{branch}'
- logrotate:
- daysToKeep: '{build-days-to-keep}'
- numToKeep: '{build-num-to-keep}'
- artifactDaysToKeep: '{build-artifact-days-to-keep}'
- artifactNumToKeep: '{build-artifact-num-to-keep}'
-
builders:
- shell:
!include-raw ./opnfv-docker.sh
- job-template:
name: 'opnfv-docs-verify'
- node: master
-
- project-type: freestyle
-
logrotate:
daysToKeep: 30
numToKeep: 10
- job-template:
name: 'opnfv-docs-merge'
- node: master
-
- project-type: freestyle
-
logrotate:
daysToKeep: 30
numToKeep: 10
refspec: '$GERRIT_REFSPEC'
choosing-strategy: 'gerrit'
-
triggers:
- gerrit:
trigger-on:
- job-template:
name: oscar-test
- project-type: freestyle
-
logrotate:
daysToKeep: 30
numToKeep: 10
# stream: branch with - in place of / (eg. stable)
# branch: branch (eg. stable)
- project-type: freestyle
varsetabove: '{somevar}'
- logrotate:
- daysToKeep: '{build-days-to-keep}'
- numToKeep: '{build-num-to-keep}'
- artifactDaysToKeep: '{build-artifact-days-to-keep}'
- artifactNumToKeep: '{build-artifact-num-to-keep}'
-
parameters:
- project-parameter:
project: '{project}'
- job-template:
name: 'oscar-verify'
- project-type: freestyle
-
logrotate:
daysToKeep: 30
numToKeep: 10
#
# 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}'
node: opnfv-build
- project-type: freestyle
-
logrotate:
daysToKeep: 30
numToKeep: 10
node: opnfv-build
- project-type: freestyle
-
- logrotate:
- daysToKeep: 30
- numToKeep: 40
- artifactDaysToKeep: -1
- artifactNumToKeep: 5
-
parameters:
- project-parameter:
project: '{project}'
cd $WORKSPACE/ci
./build.sh
-
- job-template:
name: 'ovsnfv-daily-{stream}'
disabled: true
- project-type: freestyle
-
- logrotate:
- daysToKeep: '{build-days-to-keep}'
- numToKeep: '{build-num-to-keep}'
- artifactDaysToKeep: '{build-artifact-days-to-keep}'
- artifactNumToKeep: '{build-artifact-num-to-keep}'
-
parameters:
- project-parameter:
project: '{project}'
- job-template:
name: parser-test
- project-type: freestyle
-
logrotate:
daysToKeep: 30
numToKeep: 10
- job-template:
name: 'parser-daily-{stream}'
- node: master
-
# Job template for daily builders
#
# Required Variables:
# stream: branch with - in place of / (eg. stable)
# branch: branch (eg. stable)
- project-type: freestyle
varsetabove: '{somevar}'
logrotate:
- job-template:
name: 'parser-verify'
- node: master
-
- project-type: freestyle
-
logrotate:
daysToKeep: 30
numToKeep: 10
- job-template:
name: 'parser-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}'
refspec: ''
choosing-strategy: 'default'
-
triggers:
- gerrit:
trigger-on:
- project:
name: pharos
jobs:
- - 'pharos-test'
- 'pharos-daily-{stream}'
- 'pharos-merge-{stream}'
- 'pharos-verify-{stream}'
+ - 'pharos-maas-pilot-{stream}'
# stream: branch with - in place of / (eg. stable-arno)
# branch: branch (eg. stable/arno)
##############################
# job template
##############################
-- job-template:
- name: pharos-test
-
- project-type: freestyle
-
- logrotate:
- daysToKeep: 30
- numToKeep: 10
- artifactDaysToKeep: -1
- artifactNumToKeep: -1
-
- builders:
- - shell: |
- echo "Hello world from pharos"
-
- job-template:
name: 'pharos-daily-{stream}'
- node: master
-
# Job template for daily builders
#
# Required Variables:
# stream: branch with - in place of / (eg. stable)
# branch: branch (eg. stable)
- project-type: freestyle
varsetabove: '{somevar}'
- logrotate:
- daysToKeep: '{build-days-to-keep}'
- numToKeep: '{build-num-to-keep}'
- artifactDaysToKeep: '{build-artifact-days-to-keep}'
- artifactNumToKeep: '{build-artifact-num-to-keep}'
-
parameters:
- project-parameter:
project: '{project}'
- job-template:
name: 'pharos-verify-{stream}'
- node: master
-
- project-type: freestyle
-
logrotate:
daysToKeep: 30
numToKeep: 10
- job-template:
name: 'pharos-merge-{stream}'
- 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}'
- shell:
!include-raw ../opnfvdocs/docu-build.sh
+- job-template:
+ name: 'pharos-maas-pilot-{stream}'
+
+ parameters:
+ - project-parameter:
+ project: '{project}'
+
+ scm:
+ - git-scm:
+ credentials-id: '{ssh-credentials}'
+ refspec: ''
+ branch: '{branch}'
+
+ triggers:
+ - pollscm: '@midnight'
+
+ builders:
+ - shell:
+ echo "Hello World"
########################
# parameter macros
########################
- job-template:
name: prediction-test
- project-type: freestyle
-
logrotate:
daysToKeep: 30
numToKeep: 10
- job-template:
name: 'prediction-daily-{stream}'
- node: master
-
# Job template for daily builders
#
# Required Variables:
# stream: branch with - in place of / (eg. stable)
# branch: branch (eg. stable)
- project-type: freestyle
varsetabove: '{somevar}'
logrotate:
- job-template:
name: 'prediction-verify'
- node: master
-
- project-type: freestyle
-
logrotate:
daysToKeep: 30
numToKeep: 10
- job-template:
name: 'prediction-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}'
refspec: ''
choosing-strategy: 'default'
-
triggers:
- gerrit:
trigger-on:
- 'qtip-dhrystone-serial-{pod}'
- 'qtip-ssl-parallel-{pod}'
-
# stream: branch with - in place of / (eg. stable-helium)
# branch: branch (eg. stable/helium)
-
pod:
- dell-build:
node: 'dell-us-testing-bm-1'
installer_type: 'fuel'
installer_ip: '10.20.0.2'
-
stream:
- master:
branch: 'master'
- job-template:
name: qtip-test
- project-type: freestyle
-
logrotate:
daysToKeep: 30
numToKeep: 10
# stream: branch with - in place of / (eg. stable)
# branch: branch (eg. stable)
- project-type: freestyle
varsetabove: '{somevar}'
- logrotate:
- daysToKeep: '{build-days-to-keep}'
- numToKeep: '{build-num-to-keep}'
- artifactDaysToKeep: '{build-artifact-days-to-keep}'
- artifactNumToKeep: '{build-artifact-num-to-keep}'
-
parameters:
- project-parameter:
project: '{project}'
-
scm:
- git-scm:
credentials-id: '{ssh-credentials}'
- job-template:
name: 'qtip-verify'
- project-type: freestyle
-
logrotate:
daysToKeep: 30
numToKeep: 10
#
# 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}'
- job-template:
name: 'qtip-dhrystone-serial-{pod}'
- project-type: freestyle
-
disabled: false
node: '{node}'
- job-template:
name: 'qtip-ssl-parallel-{pod}'
-
- project-type: freestyle
-
disabled: false
node: '{node}'
echo "Running QTIP dhrystone with First Test case"
python qtip.py -s compute -b dhrystone_serial.yaml
-
- builder:
name: qtip-ssl-parallel
echo "Running QTIP dhrystone with Second Test case"
python qtip.py -s compute -b ssl_parallel.yaml
-
- builder:
name: qtip-fetch-os-cred
builders:
- defaults:
name: global
- build-days-to-keep: 30
- build-num-to-keep: 40
- build-artifact-days-to-keep: -1
- build-artifact-num-to-keep: 5
+ logrotate:
+ daysToKeep: 30
+ numToKeep: 40
+ artifactDaysToKeep: -1
+ artifactNumToKeep: 5
ssh-credentials: 'd42411ac011ad6f3dd2e1fa34eaa5d87f910eb2e'
wrappers:
- ssh-agent-credentials:
users:
- '{ssh-credentials}'
+
+ project-type: freestyle
+
+ node: master
- job-template:
name: builder-verify-jjb
- node: master
-
- project-type: freestyle
-
logrotate:
daysToKeep: 30
numToKeep: 10
- 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
builders:
- shell: |
#!/bin/bash -e
- set -o pipefail
export PATH=$PATH:/usr/local/bin/
-
- [[ $GERRIT_CHANGE_NUMBER =~ .+ ]]
-
- _get_title_script="
- import os
- from docutils import core, nodes
- with open('index.rst', 'r') as file:
- data = file.read()
- doctree = core.publish_doctree(data,
- settings_overrides={'report_level': 5,
- 'halt_level': 5})
- if isinstance(doctree[0], nodes.title):
- title = doctree[0]
- else:
- for c in doctree.children:
- if isinstance(c, nodes.section):
- title = c[0]
- break
- print title.astext()"
- _git_sha1="$(git rev-parse HEAD)"
-
git clone ssh://gerrit.opnfv.org:29418/releng
- [[ -d releng ]]
-
- find docs/ -name 'index.rst' -printf '%h\n' | while read dir
- do
- _name="${dir##*/}"
- _build="$dir/build"
- _output="docs/output/$_name"
-
- echo
- echo "#################${dir//?/#}"
- echo "Building DOCS in $dir"
- echo "#################${dir//?/#}"
- echo
-
- sed -i "s/_sha1_/$_git_sha1/g" "$dir/index.rst"
-
- if [[ ! -f "$dir/conf.py" ]] ; then
- cp releng/docs/etc/conf.py "$dir/conf.py"
- _title=$(cd $dir; python -c "$_get_title_script")
- echo "latex_documents = [('index', '$_name.tex', \"$_title\", 'OPNFV', 'manual'),]" >> "$dir/conf.py"
- fi
- cp -f releng/docs/etc/opnfv-logo.png "$dir/opnfv-logo.png"
-
- mkdir -p "$_output"
-
- sphinx-build -b html -E "$dir" "$_output"
-
- # Note: PDF creation may fail in project doc builds.
- # We allow this test to be marked as succeeded with
- # failure in PDF creation, but leave message to fix it.
- # Any failure has to be fixed before B release.
- {
- sphinx-build -b latex -E "$dir" "$_build"
- make -C "$_build" LATEXOPTS='--interaction=nonstopmode' all-pdf
- mv "$_build/$_name.pdf" "$_output"
- } || {
- _msg="Error: PDF creation for $dir has failed, please fix source rst file(s)."
- echo
- echo "$_msg"
- echo
- echo "$_msg" >> gerrit_comment.txt
- }
- done
+ GERRIT_COMMENT=gerrit_comment.txt ./releng/utils/docs-build.sh
- builder:
name: upload-under-review-docs-to-opnfv-artifacts
export PATH=$PATH:/usr/local/bin/
[[ $GERRIT_CHANGE_NUMBER =~ .+ ]]
- [[ -d docs/output ]]
+ [[ -d output ]]
echo
echo "###########################"
gs_base="artifacts.opnfv.org/review"
gs_path="$gs_base/$GERRIT_CHANGE_NUMBER"
- local_path="docs/$GERRIT_CHANGE_NUMBER"
+ local_path="upload/$GERRIT_CHANGE_NUMBER"
- mv docs/output "$local_path"
+ mkdir -p upload
+ mv output "$local_path"
gsutil -m cp -r "$local_path" "gs://$gs_base"
if gsutil ls "gs://$gs_path" | grep -e 'html$' > /dev/null 2>&1 ; then
set -o pipefail
export PATH=$PATH:/usr/local/bin/
- [[ -d docs/output ]]
+ [[ -d output ]]
echo
echo "#####################"
gs_base="artifacts.opnfv.org/$GERRIT_PROJECT/$GERRIT_BRANCH"
fi
gs_path="$gs_base/docs"
- local_path="docs/docs"
+ local_path="upload/docs"
- mv docs/output "$local_path"
+ mkdir -p upload
+ mv output "$local_path"
gsutil -m cp -r "$local_path" "gs://$gs_base"
if gsutil ls "gs://$gs_path" | grep -e 'html$' > /dev/null 2>&1 ; then
- job-template:
name: 'storperf-verify-{stream}'
- node: intel-jp-build-1
-
- project-type: freestyle
+ node: opnfv-build
logrotate:
daysToKeep: 30
- shell: |
$WORKSPACE/ci/verify.sh
-
- job-template:
name: 'storperf-merge-{stream}'
#
# This job's purpose is to update all the JJB
- node: intel-jp-build-1
-
- project-type: freestyle
-
- logrotate:
- daysToKeep: 30
- numToKeep: 40
- artifactDaysToKeep: -1
- artifactNumToKeep: 5
+ node: opnfv-build
parameters:
- project-parameter:
- junit:
results: nosetests.xml
-
- job-template:
name: 'storperf-daily-{stream}'
# Required Variables:
# stream: branch with - in place of / (eg. stable)
# branch: branch (eg. stable)
- node: intel-jp-build-1
+ node: opnfv-build
disabled: true
- project-type: freestyle
-
- logrotate:
- daysToKeep: '{build-days-to-keep}'
- numToKeep: '{build-num-to-keep}'
- artifactDaysToKeep: '{build-artifact-days-to-keep}'
- artifactNumToKeep: '{build-artifact-num-to-keep}'
-
parameters:
- project-parameter:
project: '{project}'
- job-template:
name: vnf_forwarding_graph-test
- project-type: freestyle
-
logrotate:
daysToKeep: 30
numToKeep: 10
# stream: branch with - in place of / (eg. stable)
# branch: branch (eg. stable)
- project-type: freestyle
varsetabove: '{somevar}'
- logrotate:
- daysToKeep: '{build-days-to-keep}'
- numToKeep: '{build-num-to-keep}'
- artifactDaysToKeep: '{build-artifact-days-to-keep}'
- artifactNumToKeep: '{build-artifact-num-to-keep}'
-
parameters:
- project-parameter:
project: '{project}'
- job-template:
name: 'vnf_forwarding_graph-verify'
- project-type: freestyle
-
logrotate:
daysToKeep: 30
numToKeep: 10
#
# 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}'
find .
echo "merge logic goes here"
-
-
-
-
-
project: 'vswitchperf'
somevar: 'foo'
-
- job-template:
name: 'vswitchperf-daily-{stream}'
# stream: branch with - in place of / (eg. stable)
# branch: branch (eg. stable)
- project-type: freestyle
varsetabove: '{somevar}'
node: opnfv-build
- logrotate:
- daysToKeep: '{build-days-to-keep}'
- numToKeep: '{build-num-to-keep}'
- artifactDaysToKeep: '{build-artifact-days-to-keep}'
- artifactNumToKeep: '{build-artifact-num-to-keep}'
-
parameters:
- project-parameter:
project: '{project}'
max-total: 3
max-per-node: 2
- logrotate:
- daysToKeep: 30
- numToKeep: 40
- artifactDaysToKeep: -1
- artifactNumToKeep: 5
-
parameters:
- project-parameter:
project: '{project}'
- job-template:
name: 'yardstick-verify'
- project-type: freestyle
-
node: ericsson-build
logrotate:
#
# This job's purpose is to update all the JJB
- project-type: freestyle
-
node: ericsson-build
- logrotate:
- daysToKeep: 30
- numToKeep: 40
- artifactDaysToKeep: -1
- artifactNumToKeep: 5
-
parameters:
- project-parameter:
project: '{project}'
- job-template:
name: 'yardstick-{installer}-{pod}-{stream}'
- project-type: freestyle
-
disabled: false
node: '{node}'
--- /dev/null
+#!/bin/bash -e
+
+export PATH=$PATH:/usr/local/bin/
+
+
+SRC_DIR=${SRC_DIR:-docs}
+INDEX_RST=${INDEX_RST:-index.rst}
+BUILD_DIR=${BUILD_DIR:-build}
+OUTPUT_DIR=${OUTPUT_DIR:-output}
+RELENG_DIR=${RELENG_DIR:-releng}
+GERRIT_COMMENT=${GERRIT_COMMENT:-}
+
+get_title_script="
+import os
+from docutils import core, nodes
+
+try:
+ with open('index.rst', 'r') as file:
+ data = file.read()
+ doctree = core.publish_doctree(data,
+ settings_overrides={'report_level': 5,
+ 'halt_level': 5})
+ if isinstance(doctree[0], nodes.title):
+ title = doctree[0]
+ else:
+ for c in doctree.children:
+ if isinstance(c, nodes.section):
+ title = c[0]
+ break
+ print title.astext()
+except:
+ print 'None'"
+revision="$(git rev-parse --short HEAD)"
+rev_full="$(git rev-parse HEAD)"
+version="$(git describe --abbrev=0 2> /dev/null || echo draft) ($revision)"
+project="$(basename $(git rev-parse --show-toplevel))"
+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 add_html_notes() {
+ _src="$1"
+ _dir="$2"
+
+ if grep -q -e ' _sha1_' "$_src"/*.rst ; then
+ # TODO: remove this, once old templates were removed from all repos.
+ echo
+ echo "Warn: '_sha1_' was found in $_dir , use the latest document template."
+ echo " See https://wiki.opnfv.org/documentation/tools ."
+ echo
+ sed -i "s/ _sha1_/ $git_sha1/g" "$_src"/*.rst
+ fi
+ sed -i -e "\$a\\\n.. only:: html\n$html_notes" "$_src"/*.rst
+}
+
+function add_config() {
+ _conf="$1"
+ _param="$2"
+ _val="$3"
+
+ if ! grep -q -e "^$_param = " "$_conf" ; then
+ echo "Adding '$_param' into $_conf ..."
+ echo "$_param = $_val" >> "$_conf"
+ fi
+}
+
+
+if [[ ! -d "$RELENG_DIR" ]] ; then
+ echo "Error: $RELENG_DIR dir not found. See https://wiki.opnfv.org/documentation/tools ."
+ exit 1
+fi
+
+find $SRC_DIR -name $INDEX_RST -printf '%h\n' | while read dir
+do
+ name="${dir##*/}"
+ src="$BUILD_DIR/src/$name"
+ build="$BUILD_DIR/$name"
+ output="$OUTPUT_DIR/$name"
+ conf="$src/conf.py"
+
+ echo
+ echo "#################${dir//?/#}"
+ echo "Building DOCS in $dir"
+ echo "#################${dir//?/#}"
+ echo
+
+ mkdir -p "$BUILD_DIR/src"
+ [[ -e "$src" ]] && rm -rf "$src"
+ cp -r "$dir" "$src"
+
+ add_html_notes "$src" "$dir"
+
+ [[ ! -f "$conf" ]] && cp "$default_conf" "$conf"
+ title=$(cd $src; python -c "$get_title_script")
+ latex_conf="[('index', '$name.tex', \"$title\", 'OPNFV', 'manual'),]"
+ add_config "$conf" 'latex_documents' "$latex_conf"
+ add_config "$conf" 'release' "u'$version'"
+ add_config "$conf" 'version' "u'$version'"
+ add_config "$conf" 'project' "u'$project'"
+ add_config "$conf" 'copyright' "u'$(date +%Y), OPNFV'"
+ cp -f $opnfv_logo "$src/opnfv-logo.png"
+
+ mkdir -p "$output"
+
+ sphinx-build -b html -t html -E "$src" "$output"
+
+ # Note: PDF creation may fail in project doc builds.
+ # We allow this build job to be marked as succeeded with
+ # failure in PDF creation, but leave message to fix it.
+ # Any failure has to be fixed before OPNFV B release.
+ {
+ sphinx-build -b latex -t pdf -E "$src" "$build" && \
+ make -C "$build" LATEXOPTS='--interaction=nonstopmode' all-pdf
+ } && {
+ mv "$build/$name.pdf" "$output"
+ } || {
+ msg="Error: PDF creation for $dir has failed, please fix source rst file(s)."
+ echo
+ echo "$msg"
+ echo
+ [[ -n "$GERRIT_COMMENT" ]] && echo "$msg" >> "$GERRIT_COMMENT"
+ }
+
+done