- PDF
- IDF
* - `intel-pod17 <https://build.opnfv.org/ci/computer/intel-pod17>`_
- - Compass4NFV
+ - Airship
-
- PDF
- IDF
* - `intel-pod18 <https://build.opnfv.org/ci/computer/intel-pod18>`_
- - JOID
- - Ubuntu 16.04
- - `PDF <https://git.opnfv.org/pharos/plain/labs/intel/pod18.yaml>`__
- - `IDF <https://git.opnfv.org/pharos/plain/labs/intel/idf-pod18.yaml>`__
+ - Airship
+ -
+ - PDF
+ - IDF
* - `lf-pod1 <https://build.opnfv.org/ci/computer/lf-pod1>`_
- Apex
- CentOS 7
Please follow below steps to connect a slave to OPNFV Jenkins.
- 1. Create a user named **jenkins** on the machine you want to connect to OPNFV Jenkins and give the user sudo rights.
- 2. Install needed software on the machine you want to connect to OPNFV Jenkins as slave.
+#. Create a user named **jenkins** on the machine you want to connect to
+ OPNFV Jenkins and give the user sudo rights.
- - openjdk 8
- - monit
+#. Install needed software on the machine you want to connect to OPNFV
+ Jenkins as slave.
- 3. If the slave will be used for running virtual deployments, Functest, and Yardstick, install below software and make jenkins user the member of the groups.
+ - openjdk 8
+ - monit
- - docker
- - libvirt
+#. If the slave will be used for running virtual deployments, Functest,
+ and Yardstick, install below software and make jenkins user the
+ member of the groups.
- 4. Create slave root in Jenkins user home directory.
+ - docker
+ - libvirt
- ``mkdir -p /home/jenkins/opnfv/slave_root``
+#. Create slave root in Jenkins user home directory.
- 5. Clone OPNFV Releng Git repository.
+ ``mkdir -p /home/jenkins/opnfv/slave_root``
- ``mkdir -p /home/jenkins/opnfv/repos``
+5. Clone OPNFV Releng Git repository.
- ``cd /home/jenkins/opnfv/repos``
+ .. code::
- ``git clone https://gerrit.opnfv.org/gerrit/p/releng.git``
+ mkdir -p /home/jenkins/opnfv/repos
+ cd /home/jenkins/opnfv/repos
+ git clone https://gerrit.opnfv.org/gerrit/p/releng.git
- 6. Contact LF by sending mail to `OPNFV LF Helpdesk <opnfv-helpdesk@rt.linuxfoundation.org>`_ and request creation of a slave on OPNFV Jenkins. Include below information in your mail.
+#. Contact LF by creating a ticket to `Connect my 3rd party CI/Lab
+ <https://jira.linuxfoundation.org/servicedesk/customer/portal/2/create/135>`_
+ Include the following information in your ticket.
- - Slave root (/home/jenkins/opnfv/slave_root)
- - Public IP of the slave (You can get the IP by executing ``curl http://icanhazip.com/``)
- - PGP Key (attached to the mail or exported to a key server)
+ - Slave root (/home/jenkins/opnfv/slave_root)
+ - Public IP of the slave (You can get the IP by executing ``curl http://icanhazip.com/``)
+ - PGP Key (attached to the mail or exported to a key server)
- 7. Once you get confirmation from LF stating that your slave is created on OPNFV Jenkins, check if the firewall on LF is open for the server you are trying to connect to Jenkins.
+#. Once you get confirmation from LF stating that your slave is created
+ on OPNFV Jenkins, check if the firewall on LF is open for the server
+ you are trying to connect to Jenkins.
- ``cp /home/jenkins/opnfv/repos/releng/utils/jenkins-jnlp-connect.sh /home/jenkins/``
- ``cd /home/jenkins/``
- ``sudo ./jenkins-jnlp-connect.sh -j /home/jenkins -u jenkins -n <slave name on OPNFV Jenkins> -s <the token you received from LF> -f``
+ .. code::
- - If you receive an error, follow the steps listed on the command output.
+ cp /home/jenkins/opnfv/repos/releng/utils/jenkins-jnlp-connect.sh /home/jenkins/
+ cd /home/jenkins/
+ sudo ./jenkins-jnlp-connect.sh -j /home/jenkins -u jenkins -n <slave name on OPNFV Jenkins> -s <the token you received from LF> -f
- 8. Run the same script with test(-t) on foreground in order to make sure no problem on connection. You should see **INFO: Connected** in the console log.
+ - If you receive an error, follow the steps listed on the command output.
- ``sudo ./jenkins-jnlp-connect.sh -j /home/jenkins -u jenkins -n <slave name on OPNFV Jenkins> -s <the token you received from LF> -t``
+#. Run the same script with test(-t) on foreground in order to make sure
+ no problem on connection. You should see **INFO: Connected** in the
+ console log.
- - If you receive an error similar to the one shown `on this link <http://hastebin.com/ozadagirax.avrasm>`_, you need to check your firewall and allow outgoing connections for the port.
+ ``sudo ./jenkins-jnlp-connect.sh -j /home/jenkins -u jenkins -n <slave name on OPNFV Jenkins> -s <the token you received from LF> -t``
- 9. Kill the Java slave.jar process.
- 10. Run the same script normally without test(-t) in order to get monit script created.
+ - If you receive an error similar to the one shown `on this link
+ <http://hastebin.com/ozadagirax.avrasm>`_, you need to check your
+ firewall and allow outgoing connections for the port.
- ``sudo ./jenkins-jnlp-connect.sh -j /home/jenkins -u jenkins -n <slave name on OPNFV Jenkins> -s <the token you received from LF>``
+#. Kill the Java slave.jar process.
- 11. Edit monit configuration and enable http interface. The file to edit is /etc/monit/monitrc on Ubuntu systems. Uncomment below lines.
+#. Run the same script normally without test(-t) in order to get monit
+ script created.
- set httpd port 2812 and
- use address localhost # only accept connection from localhost
- allow localhost # allow localhost to connect to the server and
+ ``sudo ./jenkins-jnlp-connect.sh -j /home/jenkins -u jenkins -n <slave name on OPNFV Jenkins> -s <the token you received from LF>``
- 12. Restart monit service.
+#. Edit monit configuration and enable http interface. The file to edit
+ is /etc/monit/monitrc on Ubuntu systems. Uncomment below lines.
- - Without systemd:
+ .. code::
- ``sudo service monit restart``
+ set httpd port 2812 and
+ use address localhost # only accept connection from localhost
+ allow localhost # allow localhost to connect to the server and
- - With systemd: you have to enable monit service first and then restart it.
+#. Restart monit service.
- ``sudo systemctl enable monit``
+ - Without systemd:
- ``sudo systemctl restart monit``
+ ``sudo service monit restart``
- 13. Check to see if jenkins comes up as managed service in monit.
+ - With systemd: you have to enable monit service first and then restart it.
- ``sudo monit status``
+ .. code::
- 14. Connect slave to OPNFV Jenkins using monit.
+ sudo systemctl enable monit
+ sudo systemctl restart monit
- ``sudo monit start jenkins``
+#. Check to see if jenkins comes up as managed service in monit.
- 15. Check slave on OPNFV Jenkins to verify the slave is reported as connected.
+ ``sudo monit status``
- - The slave on OPNFV Jenkins should have some executors in “Idle” state if the connection is successful.
+#. Connect slave to OPNFV Jenkins using monit.
+
+ ``sudo monit start jenkins``
+
+#. Check slave on OPNFV Jenkins to verify the slave is reported as connected.
+
+ - The slave on OPNFV Jenkins should have some executors in “Idle”
+ state if the connection is successful.
Notes
-==========
+=====
PGP Key Instructions
--------------------
Public PGP Key can be uploaded to public key server so it can be taken from
there using your mail address. Example command to upload the key to key server is
- ``gpg --keyserver hkp://keys.gnupg.net:80 --send-keys XXXXXXX``
+``gpg --keyserver hkp://keys.gnupg.net:80 --send-keys XXXXXXX``
The Public PGP Key can also be attached to the email by storing the key in a file and then
attaching it to the email.
- ``gpg --export -a '<your email address>' > pgp.pubkey``
+``gpg --export -a '<your email address>' > pgp.pubkey``
References
==========
--- /dev/null
+---
+- airship-jobs: &airship-jobs
+ name: 'airship-jobs'
+ current-parameters: true
+
+- airship-params: &airship-params
+ name: 'airship-params'
+ repo: 'opnfv'
+ port:
+ tag:
+ - latest:
+ branch: master
+ slave: intel-pod17
+ functest_tag: hunter
+
+- parameter:
+ name: airship-slave
+ parameters:
+ - label:
+ name: slave
+ default: '{slave}'
+
+- parameter:
+ name: airship-build_tag
+ parameters:
+ - random-string:
+ name: build_tag
+
+- parameter:
+ name: airship-DEBUG
+ parameters:
+ - string:
+ name: DEBUG
+ default: 'true'
+
+- parameter:
+ name: airship-EXTERNAL_NETWORK
+ parameters:
+ - string:
+ name: EXTERNAL_NETWORK
+ default: public
+
+- airship-containers: &airship-containers
+ name: 'airship-containers'
+ repo: '{repo}'
+ port: '{port}'
+ container: '{container}'
+ functest_tag: '{functest_tag}'
+
+- airship-run-containers: &airship-run-containers
+ name: 'airship-run-containers'
+ <<: *airship-containers
+ test: '{test}'
+
+- builder:
+ name: airship-pull-containers
+ builders:
+ - shell: |
+ set +x
+ if [ "{repo}" = "_" ]; then
+ image={container}:{functest_tag}
+ elif [ "{port}" = "None" ]; then
+ image={repo}/{container}:{functest_tag}
+ else
+ image={repo}:{port}/{container}:{functest_tag}
+ fi
+ sudo docker pull $image
+
+- builder:
+ name: airship-run-containers
+ builders:
+ - shell: |
+ set +x
+ [ ! -z "$WORKSPACE" ] && sudo rm -rf $WORKSPACE/* || true
+ if [ "{repo}" = "_" ]; then
+ image={container}:{functest_tag}
+ elif [ "{port}" = "None" ]; then
+ image={repo}/{container}:{functest_tag}
+ else
+ image={repo}:{port}/{container}:{functest_tag}
+ fi
+ sudo docker run --rm \
+ -e S3_ENDPOINT_URL=https://storage.googleapis.com \
+ -e S3_DST_URL=s3://artifacts.opnfv.org/airship/$JOB_NAME-$BUILD_ID \
+ -e HTTP_DST_URL=http://artifacts.opnfv.org/airship/$JOB_NAME-$BUILD_ID \
+ -e TEST_DB_URL=http://testresults.opnfv.org/test/api/v1/results \
+ -e TEST_DB_EXT_URL=http://testresults.opnfv.org/test/api/v1/results \
+ -e NODE_NAME=$slave \
+ -e INSTALLER_TYPE=airship \
+ -e BUILD_TAG=$BUILD_TAG \
+ -v $WORKSPACE/../$JOB_NAME/results:/var/lib/xtesting/results \
+ -v /home/opnfv/functest/.boto:/root/.boto \
+ -e DEBUG=$DEBUG \
+ -e EXTERNAL_NETWORK=$EXTERNAL_NETWORK \
+ -e DEPLOY_SCENARIO=os-nosdn-nofeature-ha \
+ -v /home/opnfv/functest/openstack.creds:/home/opnfv/functest/conf/env_file \
+ -v /home/opnfv/functest/images:/home/opnfv/functest/images \
+ -v /home/opnfv/functest/tempest_conf.yaml:/usr/lib/python2.7/\
+ site-packages/functest/opnfv_tests/openstack/tempest/custom_tests/tempest_conf.yaml \
+ $image run_tests -t {test} -r -p
+
+- builder:
+ name: airship-remove-images
+ builders:
+ - shell: |
+ set +x
+ if [ "{repo}" = "_" ]; then
+ image={container}:{functest_tag}
+ elif [ "{port}" = "None" ]; then
+ image={repo}/{container}:{functest_tag}
+ else
+ image={repo}:{port}/{container}:{functest_tag}
+ fi
+ sudo docker rmi $image || true
+
+- builder:
+ name: airship-deploy
+ builders:
+ - shell: |
+ set +x
+ export TERM_OPTS=" "
+ sudo -H -E -u ubuntu bash -c 'tools/deploy.sh $slave deploy_site'
+
+- scm:
+ name: airship-scm
+ scm:
+ - git:
+ url: https://gerrit.opnfv.org/gerrit/airship
+ refspec: '+refs/changes/*:refs/changes/*'
+ branches:
+ - '{ref}'
+
+- parameter:
+ name: airship-branch
+ parameters:
+ - string:
+ name: branch
+ default: '{branch}'
+
+- job-template:
+ name: 'airship-deploy-daily-{tag}'
+ parameters:
+ - airship-slave:
+ slave: '{slave}'
+ - airship-branch:
+ branch: '{branch}'
+ scm:
+ - airship-scm:
+ ref: $branch
+ builders:
+ - airship-deploy
+
+- job-template:
+ name: 'airship-deploy-gate-{tag}'
+ parameters:
+ - airship-slave:
+ slave: '{slave}'
+ scm:
+ - airship-scm:
+ ref: $GERRIT_REFSPEC
+ builders:
+ - airship-deploy
+
+- project:
+ name: 'airship-deploy'
+ <<: *airship-params
+ jobs:
+ - 'airship-deploy-daily-{tag}'
+ - 'airship-deploy-gate-{tag}'
+
+- job-template:
+ name: 'airship-{repo}-{container}-{tag}-pull'
+ parameters:
+ - airship-slave:
+ slave: '{slave}'
+ builders:
+ - airship-pull-containers:
+ <<: *airship-containers
+
+- project:
+ name: 'airship-opnfv-functest-healthcheck-pull'
+ <<: *airship-params
+ container: 'functest-healthcheck'
+ jobs:
+ - 'airship-{repo}-{container}-{tag}-pull'
+
+- project:
+ name: 'airship-opnfv-functest-smoke-pull'
+ <<: *airship-params
+ container: 'functest-smoke'
+ jobs:
+ - 'airship-{repo}-{container}-{tag}-pull'
+
+- project:
+ name: 'airship-opnfv-functest-benchmarking-pull'
+ <<: *airship-params
+ container: 'functest-benchmarking'
+ jobs:
+ - 'airship-{repo}-{container}-{tag}-pull'
+
+- project:
+ name: 'airship-opnfv-functest-vnf-pull'
+ <<: *airship-params
+ container: 'functest-vnf'
+ jobs:
+ - 'airship-{repo}-{container}-{tag}-pull'
+
+- job-template:
+ name: 'airship-{repo}-{container}-{tag}-rmi'
+ parameters:
+ - airship-slave:
+ slave: '{slave}'
+ builders:
+ - airship-remove-images:
+ <<: *airship-containers
+
+- project:
+ name: 'airship-opnfv-functest-healthcheck-rmi'
+ <<: *airship-params
+ container: 'functest-healthcheck'
+ jobs:
+ - 'airship-{repo}-{container}-{tag}-rmi'
+
+- project:
+ name: 'airship-opnfv-functest-smoke-rmi'
+ <<: *airship-params
+ container: 'functest-smoke'
+ jobs:
+ - 'airship-{repo}-{container}-{tag}-rmi'
+
+- project:
+ name: 'airship-opnfv-functest-benchmarking-rmi'
+ <<: *airship-params
+ container: 'functest-benchmarking'
+ jobs:
+ - 'airship-{repo}-{container}-{tag}-rmi'
+
+- project:
+ name: 'airship-opnfv-functest-vnf-rmi'
+ <<: *airship-params
+ container: 'functest-vnf'
+ jobs:
+ - 'airship-{repo}-{container}-{tag}-rmi'
+
+- job-template:
+ name: 'airship-{repo}-{container}-{tag}-{test}-run'
+ parameters:
+ - airship-slave:
+ slave: '{slave}'
+ - airship-build_tag:
+ build_tag: ''
+ - airship-DEBUG:
+ DEBUG: 'true'
+ - airship-EXTERNAL_NETWORK:
+ EXTERNAL_NETWORK: public
+ builders:
+ - airship-run-containers:
+ <<: *airship-run-containers
+
+- project:
+ name: 'airship-opnfv-functest-healthcheck'
+ <<: *airship-params
+ container: 'functest-healthcheck'
+ test:
+ - connection_check
+ - tenantnetwork1
+ - tenantnetwork2
+ - vmready1
+ - vmready2
+ - singlevm1
+ - singlevm2
+ - vping_ssh
+ - vping_userdata
+ - cinder_test
+ - odl
+ - tempest_smoke
+ jobs:
+ - 'airship-{repo}-{container}-{tag}-{test}-run'
+
+- project:
+ name: 'airship-opnfv-functest-smoke'
+ <<: *airship-params
+ container: 'functest-smoke'
+ test:
+ - neutron-tempest-plugin-api
+ - tempest_cinder
+ - tempest_keystone
+ - rally_sanity
+ - refstack_defcore
+ - tempest_full
+ - tempest_scenario
+ - tempest_slow
+ - patrole
+ - neutron_trunk
+ - networking-bgpvpn
+ - networking-sfc
+ - barbican
+ jobs:
+ - 'airship-{repo}-{container}-{tag}-{test}-run'
+
+- project:
+ name: 'airship-opnfv-functest-benchmarking'
+ <<: *airship-params
+ container: 'functest-benchmarking'
+ test:
+ - rally_full
+ - rally_jobs
+ - vmtp
+ - shaker
+ jobs:
+ - 'airship-{repo}-{container}-{tag}-{test}-run'
+
+- project:
+ name: 'airship-opnfv-functest-vnf'
+ <<: *airship-params
+ container: 'functest-vnf'
+ test:
+ - cloudify
+ - cloudify_ims
+ - heat_ims
+ - vyos_vrouter
+ - juju_epc
+ jobs:
+ - 'airship-{repo}-{container}-{tag}-{test}-run'
+
+- job-template:
+ name: 'airship-{tag}-daily'
+ project-type: multijob
+ triggers:
+ - timed: '@daily'
+ parameters:
+ - airship-slave:
+ slave: '{slave}'
+ - airship-build_tag:
+ build_tag: ''
+ - airship-branch:
+ branch: 'master'
+ - airship-DEBUG:
+ DEBUG: 'true'
+ - airship-EXTERNAL_NETWORK:
+ EXTERNAL_NETWORK: public
+ properties:
+ - build-blocker:
+ use-build-blocker: true
+ blocking-level: 'NODE'
+ blocking-jobs:
+ - '^airship-{tag}-(daily|gate)$'
+ builders:
+ - multijob:
+ name: deploy
+ projects:
+ - name: 'airship-deploy-daily-{tag}'
+ <<: *airship-jobs
+ - multijob:
+ name: remove former images
+ projects:
+ - name: 'airship-opnfv-functest-healthcheck-{tag}-rmi'
+ <<: *airship-jobs
+ - name: 'airship-opnfv-functest-smoke-{tag}-rmi'
+ <<: *airship-jobs
+ - name: 'airship-opnfv-functest-benchmarking-{tag}-rmi'
+ <<: *airship-jobs
+ - name: 'airship-opnfv-functest-vnf-{tag}-rmi'
+ <<: *airship-jobs
+ - multijob:
+ name: pull containers
+ projects:
+ - name: 'airship-opnfv-functest-healthcheck-{tag}-pull'
+ <<: *airship-jobs
+ - name: 'airship-opnfv-functest-smoke-{tag}-pull'
+ <<: *airship-jobs
+ - name: 'airship-opnfv-functest-benchmarking-{tag}-pull'
+ <<: *airship-jobs
+ - name: 'airship-opnfv-functest-vnf-{tag}-pull'
+ <<: *airship-jobs
+ - multijob:
+ name: opnfv/functest-healthcheck:{functest_tag}
+ condition: ALWAYS
+ projects:
+ - name: 'airship-opnfv-functest-healthcheck-{tag}-connection_check-run'
+ <<: *airship-jobs
+ - name: 'airship-opnfv-functest-healthcheck-{tag}-tenantnetwork1-run'
+ <<: *airship-jobs
+ - name: 'airship-opnfv-functest-healthcheck-{tag}-tenantnetwork2-run'
+ <<: *airship-jobs
+ - name: 'airship-opnfv-functest-healthcheck-{tag}-vmready1-run'
+ <<: *airship-jobs
+ - name: 'airship-opnfv-functest-healthcheck-{tag}-vmready2-run'
+ <<: *airship-jobs
+ - name: 'airship-opnfv-functest-healthcheck-{tag}-singlevm1-run'
+ <<: *airship-jobs
+ - name: 'airship-opnfv-functest-healthcheck-{tag}-singlevm2-run'
+ <<: *airship-jobs
+ - name: 'airship-opnfv-functest-healthcheck-{tag}-vping_ssh-run'
+ <<: *airship-jobs
+ - name: 'airship-opnfv-functest-healthcheck-{tag}-vping_userdata-run'
+ <<: *airship-jobs
+ - name: 'airship-opnfv-functest-healthcheck-{tag}-cinder_test-run'
+ <<: *airship-jobs
+ - name: 'airship-opnfv-functest-healthcheck-{tag}-odl-run'
+ <<: *airship-jobs
+ - name: 'airship-opnfv-functest-healthcheck-{tag}-tempest_smoke-run'
+ <<: *airship-jobs
+ - multijob:
+ name: opnfv/functest-smoke:{functest_tag}
+ condition: ALWAYS
+ projects:
+ - name: 'airship-opnfv-functest-smoke-{tag}-neutron-tempest-plugin-api-run'
+ <<: *airship-jobs
+ - name: 'airship-opnfv-functest-smoke-{tag}-neutron-tempest_cinder-run'
+ <<: *airship-jobs
+ - name: 'airship-opnfv-functest-smoke-{tag}-neutron-tempest_keystone-run'
+ <<: *airship-jobs
+ - name: 'airship-opnfv-functest-smoke-{tag}-rally_sanity-run'
+ <<: *airship-jobs
+ - name: 'airship-opnfv-functest-smoke-{tag}-refstack_defcore-run'
+ <<: *airship-jobs
+ - name: 'airship-opnfv-functest-smoke-{tag}-tempest_full-run'
+ <<: *airship-jobs
+ - name: 'airship-opnfv-functest-smoke-{tag}-tempest_scenario-run'
+ <<: *airship-jobs
+ - name: 'airship-opnfv-functest-smoke-{tag}-tempest_slow-run'
+ <<: *airship-jobs
+ - name: 'airship-opnfv-functest-smoke-{tag}-patrole-run'
+ <<: *airship-jobs
+ - name: 'airship-opnfv-functest-smoke-{tag}-neutron_trunk-run'
+ <<: *airship-jobs
+ - name: 'airship-opnfv-functest-smoke-{tag}-networking-bgpvpn-run'
+ <<: *airship-jobs
+ - name: 'airship-opnfv-functest-smoke-{tag}-networking-sfc-run'
+ <<: *airship-jobs
+ - name: 'airship-opnfv-functest-smoke-{tag}-barbican-run'
+ <<: *airship-jobs
+ - multijob:
+ name: opnfv/functest-benchmarking:{functest_tag}
+ condition: ALWAYS
+ projects:
+ - name: 'airship-opnfv-functest-benchmarking-{tag}-rally_full-run'
+ <<: *airship-jobs
+ - name: 'airship-opnfv-functest-benchmarking-{tag}-rally_jobs-run'
+ <<: *airship-jobs
+ - name: 'airship-opnfv-functest-benchmarking-{tag}-vmtp-run'
+ <<: *airship-jobs
+ - name: 'airship-opnfv-functest-benchmarking-{tag}-shaker-run'
+ <<: *airship-jobs
+ - multijob:
+ name: opnfv/functest-vnf:{functest_tag}
+ condition: ALWAYS
+ execution-type: SEQUENTIALLY
+ projects:
+ - name: 'airship-opnfv-functest-vnf-{tag}-cloudify-run'
+ <<: *airship-jobs
+ - name: 'airship-opnfv-functest-vnf-{tag}-cloudify_ims-run'
+ <<: *airship-jobs
+ - name: 'airship-opnfv-functest-vnf-{tag}-heat_ims-run'
+ <<: *airship-jobs
+ - name: 'airship-opnfv-functest-vnf-{tag}-vyos_vrouter-run'
+ <<: *airship-jobs
+ - name: 'airship-opnfv-functest-vnf-{tag}-juju_epc-run'
+ <<: *airship-jobs
+
+- trigger:
+ name: airship-patchset-created
+ triggers:
+ - gerrit:
+ server-name: 'gerrit.opnfv.org'
+ trigger-on:
+ - patchset-created-event
+ - comment-added-contains-event:
+ comment-contains-value: 'recheck'
+ - comment-added-contains-event:
+ comment-contains-value: 'reverify'
+ projects:
+ - project-compare-type: 'ANT'
+ project-pattern: 'airship'
+ branches:
+ - branch-compare-type: 'ANT'
+ branch-pattern: '**/{branch}'
+ skip-vote:
+ successful: false
+ failed: false
+ unstable: false
+ notbuilt: false
+
+- job-template:
+ name: 'airship-{tag}-gate'
+ project-type: multijob
+ triggers:
+ - airship-patchset-created:
+ branch: '{branch}'
+ parameters:
+ - airship-slave:
+ slave: '{slave}'
+ - airship-build_tag:
+ build_tag: ''
+ - airship-DEBUG:
+ DEBUG: 'true'
+ - airship-EXTERNAL_NETWORK:
+ EXTERNAL_NETWORK: public
+ properties:
+ - build-blocker:
+ use-build-blocker: true
+ blocking-level: 'NODE'
+ blocking-jobs:
+ - '^airship-{tag}-(daily|gate)$'
+ builders:
+ - multijob:
+ name: deploy
+ projects:
+ - name: 'airship-deploy-gate-{tag}'
+ <<: *airship-jobs
+ - multijob:
+ name: remove former images
+ projects:
+ - name: 'airship-opnfv-functest-healthcheck-{tag}-rmi'
+ <<: *airship-jobs
+ - name: 'airship-opnfv-functest-smoke-{tag}-rmi'
+ <<: *airship-jobs
+ - name: 'airship-opnfv-functest-benchmarking-{tag}-rmi'
+ <<: *airship-jobs
+ - name: 'airship-opnfv-functest-vnf-{tag}-rmi'
+ <<: *airship-jobs
+ - multijob:
+ name: pull containers
+ projects:
+ - name: 'airship-opnfv-functest-healthcheck-{tag}-pull'
+ <<: *airship-jobs
+ - name: 'airship-opnfv-functest-smoke-{tag}-pull'
+ <<: *airship-jobs
+ - name: 'airship-opnfv-functest-benchmarking-{tag}-pull'
+ <<: *airship-jobs
+ - name: 'airship-opnfv-functest-vnf-{tag}-pull'
+ <<: *airship-jobs
+ - multijob:
+ name: opnfv/functest-healthcheck:{functest_tag}
+ projects:
+ - name: 'airship-opnfv-functest-healthcheck-{tag}-connection_check-run'
+ <<: *airship-jobs
+ - name: 'airship-opnfv-functest-healthcheck-{tag}-tenantnetwork1-run'
+ <<: *airship-jobs
+ - name: 'airship-opnfv-functest-healthcheck-{tag}-tenantnetwork2-run'
+ <<: *airship-jobs
+ - name: 'airship-opnfv-functest-healthcheck-{tag}-vmready1-run'
+ <<: *airship-jobs
+ - name: 'airship-opnfv-functest-healthcheck-{tag}-vmready2-run'
+ <<: *airship-jobs
+ - name: 'airship-opnfv-functest-healthcheck-{tag}-singlevm1-run'
+ <<: *airship-jobs
+ - name: 'airship-opnfv-functest-healthcheck-{tag}-singlevm2-run'
+ <<: *airship-jobs
+ - name: 'airship-opnfv-functest-healthcheck-{tag}-vping_ssh-run'
+ <<: *airship-jobs
+ - name: 'airship-opnfv-functest-healthcheck-{tag}-vping_userdata-run'
+ <<: *airship-jobs
+ - name: 'airship-opnfv-functest-healthcheck-{tag}-cinder_test-run'
+ <<: *airship-jobs
+ - name: 'airship-opnfv-functest-healthcheck-{tag}-odl-run'
+ <<: *airship-jobs
+ - multijob:
+ name: opnfv/functest-smoke:{functest_tag}
+ projects:
+ - name: 'airship-opnfv-functest-smoke-{tag}-tempest_scenario-run'
+ <<: *airship-jobs
+ - name: 'airship-opnfv-functest-smoke-{tag}-neutron_trunk-run'
+ <<: *airship-jobs
+ - name: 'airship-opnfv-functest-smoke-{tag}-networking-bgpvpn-run'
+ <<: *airship-jobs
+ - name: 'airship-opnfv-functest-smoke-{tag}-networking-sfc-run'
+ <<: *airship-jobs
+ - name: 'airship-opnfv-functest-smoke-{tag}-barbican-run'
+ <<: *airship-jobs
+ - multijob:
+ name: opnfv/functest-benchmarking:{functest_tag}
+ projects:
+ - name: 'airship-opnfv-functest-benchmarking-{tag}-vmtp-run'
+ <<: *airship-jobs
+ - name: 'airship-opnfv-functest-benchmarking-{tag}-shaker-run'
+ <<: *airship-jobs
+ - multijob:
+ name: opnfv/functest-vnf:{functest_tag}
+ condition: ALWAYS
+ execution-type: SEQUENTIALLY
+ projects:
+ - name: 'airship-opnfv-functest-vnf-{tag}-cloudify-run'
+ <<: *airship-jobs
+ - name: 'airship-opnfv-functest-vnf-{tag}-cloudify_ims-run'
+ <<: *airship-jobs
+ - name: 'airship-opnfv-functest-vnf-{tag}-heat_ims-run'
+ <<: *airship-jobs
+ - name: 'airship-opnfv-functest-vnf-{tag}-vyos_vrouter-run'
+ <<: *airship-jobs
+ - name: 'airship-opnfv-functest-vnf-{tag}-juju_epc-run'
+ <<: *airship-jobs
+
+- project:
+ name: 'airship'
+ <<: *airship-params
+ jobs:
+ - 'airship-{tag}-daily'
+ - 'airship-{tag}-gate'
+
+- view:
+ name: airship
+ view-type: list
+ columns:
+ - status
+ - weather
+ - job
+ - last-success
+ - last-failure
+ - last-duration
+ regex: ^airship-[a-z]+-(daily|check|gate)$
--- /dev/null
+---
+- cntt-jobs: &cntt-jobs
+ name: 'cntt-jobs'
+ current-parameters: true
+
+- cntt-params: &cntt-params
+ name: 'cntt-params'
+ repo: 'opnfv'
+ port:
+ tag:
+ - latest:
+ branch: master
+ slave: intel-pod10
+ functest_tag: hunter
+
+- parameter:
+ name: cntt-slave
+ parameters:
+ - label:
+ name: slave
+ default: '{slave}'
+
+- parameter:
+ name: cntt-build_tag
+ parameters:
+ - random-string:
+ name: build_tag
+
+- parameter:
+ name: cntt-DEBUG
+ parameters:
+ - string:
+ name: DEBUG
+ default: 'true'
+
+- parameter:
+ name: cntt-EXTERNAL_NETWORK
+ parameters:
+ - string:
+ name: EXTERNAL_NETWORK
+ default: public
+
+- cntt-containers: &cntt-containers
+ name: 'cntt-containers'
+ repo: '{repo}'
+ port: '{port}'
+ container: '{container}'
+ functest_tag: '{functest_tag}'
+
+- cntt-run-containers: &cntt-run-containers
+ name: 'cntt-run-containers'
+ <<: *cntt-containers
+ test: '{test}'
+
+- builder:
+ name: cntt-pull-containers
+ builders:
+ - shell: |
+ set +x
+ if [ "{repo}" = "_" ]; then
+ image={container}:{functest_tag}
+ elif [ "{port}" = "None" ]; then
+ image={repo}/{container}:{functest_tag}
+ else
+ image={repo}:{port}/{container}:{functest_tag}
+ fi
+ sudo docker pull $image
+
+- builder:
+ name: cntt-run-containers
+ builders:
+ - shell: |
+ set +x
+ [ ! -z "$WORKSPACE" ] && sudo rm -rf $WORKSPACE/* || true
+ if [ "{repo}" = "_" ]; then
+ image={container}:{functest_tag}
+ elif [ "{port}" = "None" ]; then
+ image={repo}/{container}:{functest_tag}
+ else
+ image={repo}:{port}/{container}:{functest_tag}
+ fi
+ sudo docker run --rm \
+ -e S3_ENDPOINT_URL=https://storage.googleapis.com \
+ -e S3_DST_URL=s3://artifacts.opnfv.org/cntt/$JOB_NAME-$BUILD_ID \
+ -e HTTP_DST_URL=http://artifacts.opnfv.org/cntt/$JOB_NAME-$BUILD_ID \
+ -e TEST_DB_URL=http://testresults.opnfv.org/test/api/v1/results \
+ -e TEST_DB_EXT_URL=http://testresults.opnfv.org/test/api/v1/results \
+ -e NODE_NAME=$slave \
+ -e INSTALLER_TYPE=cntt \
+ -e BUILD_TAG=$BUILD_TAG \
+ -v $WORKSPACE/../$JOB_NAME/results:/var/lib/xtesting/results \
+ -v /home/opnfv/functest/.boto:/root/.boto \
+ -e DEBUG=$DEBUG \
+ -e EXTERNAL_NETWORK=$EXTERNAL_NETWORK \
+ -e DEPLOY_SCENARIO=os-nosdn-nofeature-ha \
+ -v /home/opnfv/functest/openstack.creds:/home/opnfv/functest/conf/env_file \
+ -v /home/opnfv/functest/images:/home/opnfv/functest/images \
+ -v /home/opnfv/functest/tempest_conf.yaml:/usr/lib/python2.7/\
+ site-packages/functest/opnfv_tests/openstack/tempest/custom_tests/tempest_conf.yaml \
+ $image run_tests -t {test} -r -p
+
+- builder:
+ name: cntt-remove-images
+ builders:
+ - shell: |
+ set +x
+ if [ "{repo}" = "_" ]; then
+ image={container}:{functest_tag}
+ elif [ "{port}" = "None" ]; then
+ image={repo}/{container}:{functest_tag}
+ else
+ image={repo}:{port}/{container}:{functest_tag}
+ fi
+ sudo docker rmi $image || true
+
+- builder:
+ name: cntt-deploy
+ builders:
+ - shell: |
+ set +x
+ export TERM_OPTS=" "
+ sudo -H -E -u opnfv bash -c 'tools/deploy.sh $slave deploy_site'
+
+- scm:
+ name: cntt-scm
+ scm:
+ - git:
+ url: https://gerrit.opnfv.org/gerrit/airship
+ refspec: '+refs/changes/*:refs/changes/*'
+ branches:
+ - '{ref}'
+
+- parameter:
+ name: cntt-branch
+ parameters:
+ - string:
+ name: branch
+ default: '{branch}'
+
+- job-template:
+ name: 'cntt-deploy-daily-{tag}'
+ parameters:
+ - cntt-slave:
+ slave: '{slave}'
+ - cntt-branch:
+ branch: '{branch}'
+ scm:
+ - cntt-scm:
+ ref: $branch
+ builders:
+ - cntt-deploy
+
+- job-template:
+ name: 'cntt-deploy-gate-{tag}'
+ parameters:
+ - cntt-slave:
+ slave: '{slave}'
+ scm:
+ - cntt-scm:
+ ref: $GERRIT_REFSPEC
+ builders:
+ - cntt-deploy
+
+- project:
+ name: 'cntt-deploy'
+ <<: *cntt-params
+ jobs:
+ - 'cntt-deploy-daily-{tag}'
+ - 'cntt-deploy-gate-{tag}'
+
+- job-template:
+ name: 'cntt-{repo}-{container}-{tag}-pull'
+ parameters:
+ - cntt-slave:
+ slave: '{slave}'
+ builders:
+ - cntt-pull-containers:
+ <<: *cntt-containers
+
+- project:
+ name: 'cntt-opnfv-functest-healthcheck-pull'
+ <<: *cntt-params
+ container: 'functest-healthcheck'
+ jobs:
+ - 'cntt-{repo}-{container}-{tag}-pull'
+
+- project:
+ name: 'cntt-opnfv-functest-smoke-pull'
+ <<: *cntt-params
+ container: 'functest-smoke'
+ jobs:
+ - 'cntt-{repo}-{container}-{tag}-pull'
+
+- project:
+ name: 'cntt-opnfv-functest-smoke-cntt-pull'
+ <<: *cntt-params
+ container: 'functest-smoke-cntt'
+ jobs:
+ - 'cntt-{repo}-{container}-{tag}-pull'
+
+- project:
+ name: 'cntt-opnfv-functest-benchmarking-pull'
+ <<: *cntt-params
+ container: 'functest-benchmarking'
+ jobs:
+ - 'cntt-{repo}-{container}-{tag}-pull'
+
+- project:
+ name: 'cntt-opnfv-functest-vnf-pull'
+ <<: *cntt-params
+ container: 'functest-vnf'
+ jobs:
+ - 'cntt-{repo}-{container}-{tag}-pull'
+
+- job-template:
+ name: 'cntt-{repo}-{container}-{tag}-rmi'
+ parameters:
+ - cntt-slave:
+ slave: '{slave}'
+ builders:
+ - cntt-remove-images:
+ <<: *cntt-containers
+
+- project:
+ name: 'cntt-opnfv-functest-healthcheck-rmi'
+ <<: *cntt-params
+ container: 'functest-healthcheck'
+ jobs:
+ - 'cntt-{repo}-{container}-{tag}-rmi'
+
+- project:
+ name: 'cntt-opnfv-functest-smoke-rmi'
+ <<: *cntt-params
+ container: 'functest-smoke'
+ jobs:
+ - 'cntt-{repo}-{container}-{tag}-rmi'
+
+- project:
+ name: 'cntt-opnfv-functest-smoke-cntt-rmi'
+ <<: *cntt-params
+ container: 'functest-smoke-cntt'
+ jobs:
+ - 'cntt-{repo}-{container}-{tag}-rmi'
+
+- project:
+ name: 'cntt-opnfv-functest-benchmarking-rmi'
+ <<: *cntt-params
+ container: 'functest-benchmarking'
+ jobs:
+ - 'cntt-{repo}-{container}-{tag}-rmi'
+
+- project:
+ name: 'cntt-opnfv-functest-vnf-rmi'
+ <<: *cntt-params
+ container: 'functest-vnf'
+ jobs:
+ - 'cntt-{repo}-{container}-{tag}-rmi'
+
+- job-template:
+ name: 'cntt-{repo}-{container}-{tag}-{test}-run'
+ parameters:
+ - cntt-slave:
+ slave: '{slave}'
+ - cntt-build_tag:
+ build_tag: ''
+ - cntt-DEBUG:
+ DEBUG: 'true'
+ - cntt-EXTERNAL_NETWORK:
+ EXTERNAL_NETWORK: public
+ builders:
+ - cntt-run-containers:
+ <<: *cntt-run-containers
+
+- project:
+ name: 'cntt-opnfv-functest-healthcheck'
+ <<: *cntt-params
+ container: 'functest-healthcheck'
+ test:
+ - connection_check
+ - tenantnetwork1
+ - tenantnetwork2
+ - vmready1
+ - vmready2
+ - singlevm1
+ - singlevm2
+ - vping_ssh
+ - vping_userdata
+ - cinder_test
+ - odl
+ - tempest_smoke
+ jobs:
+ - 'cntt-{repo}-{container}-{tag}-{test}-run'
+
+- project:
+ name: 'cntt-opnfv-functest-smoke'
+ <<: *cntt-params
+ container: 'functest-smoke'
+ test:
+ - neutron-tempest-plugin-api
+ - tempest_cinder
+ - tempest_keystone
+ - rally_sanity
+ - refstack_defcore
+ - tempest_full
+ - tempest_scenario
+ - tempest_slow
+ - patrole
+ - neutron_trunk
+ - networking-bgpvpn
+ - networking-sfc
+ - barbican
+ jobs:
+ - 'cntt-{repo}-{container}-{tag}-{test}-run'
+
+- project:
+ name: 'cntt-opnfv-functest-smoke-cntt'
+ <<: *cntt-params
+ container: 'functest-smoke-cntt'
+ test:
+ - neutron-tempest-plugin-api
+ - tempest_cinder
+ - tempest_keystone
+ - rally_sanity
+ - tempest_full
+ - tempest_scenario
+ - tempest_slow
+ jobs:
+ - 'cntt-{repo}-{container}-{tag}-{test}-run'
+
+- project:
+ name: 'cntt-opnfv-functest-benchmarking'
+ <<: *cntt-params
+ container: 'functest-benchmarking'
+ test:
+ - rally_full
+ - rally_jobs
+ - vmtp
+ - shaker
+ jobs:
+ - 'cntt-{repo}-{container}-{tag}-{test}-run'
+
+- project:
+ name: 'cntt-opnfv-functest-vnf'
+ <<: *cntt-params
+ container: 'functest-vnf'
+ test:
+ - cloudify
+ - cloudify_ims
+ - heat_ims
+ - vyos_vrouter
+ - juju_epc
+ jobs:
+ - 'cntt-{repo}-{container}-{tag}-{test}-run'
+
+- job-template:
+ name: 'cntt-{tag}-daily'
+ project-type: multijob
+ triggers:
+ - timed: '@daily'
+ parameters:
+ - cntt-slave:
+ slave: '{slave}'
+ - cntt-build_tag:
+ build_tag: ''
+ - cntt-branch:
+ branch: 'master'
+ - cntt-DEBUG:
+ DEBUG: 'true'
+ - cntt-EXTERNAL_NETWORK:
+ EXTERNAL_NETWORK: public
+ properties:
+ - build-blocker:
+ use-build-blocker: true
+ blocking-level: 'NODE'
+ blocking-jobs:
+ - '^cntt-{tag}-(daily|gate)$'
+ builders:
+ - multijob:
+ name: deploy
+ projects:
+ - name: 'cntt-deploy-daily-{tag}'
+ <<: *cntt-jobs
+ - multijob:
+ name: remove former images
+ projects:
+ - name: 'cntt-opnfv-functest-healthcheck-{tag}-rmi'
+ <<: *cntt-jobs
+ - name: 'cntt-opnfv-functest-smoke-{tag}-rmi'
+ <<: *cntt-jobs
+ - name: 'cntt-opnfv-functest-smoke-cntt-{tag}-rmi'
+ <<: *cntt-jobs
+ - name: 'cntt-opnfv-functest-benchmarking-{tag}-rmi'
+ <<: *cntt-jobs
+ - name: 'cntt-opnfv-functest-vnf-{tag}-rmi'
+ <<: *cntt-jobs
+ - multijob:
+ name: pull containers
+ projects:
+ - name: 'cntt-opnfv-functest-healthcheck-{tag}-pull'
+ <<: *cntt-jobs
+ - name: 'cntt-opnfv-functest-smoke-{tag}-pull'
+ <<: *cntt-jobs
+ - name: 'cntt-opnfv-functest-smoke-cntt-{tag}-pull'
+ <<: *cntt-jobs
+ - name: 'cntt-opnfv-functest-benchmarking-{tag}-pull'
+ <<: *cntt-jobs
+ - name: 'cntt-opnfv-functest-vnf-{tag}-pull'
+ <<: *cntt-jobs
+ - multijob:
+ name: opnfv/functest-healthcheck:{functest_tag}
+ condition: ALWAYS
+ projects:
+ - name: 'cntt-opnfv-functest-healthcheck-{tag}-connection_check-run'
+ <<: *cntt-jobs
+ - name: 'cntt-opnfv-functest-healthcheck-{tag}-tenantnetwork1-run'
+ <<: *cntt-jobs
+ - name: 'cntt-opnfv-functest-healthcheck-{tag}-tenantnetwork2-run'
+ <<: *cntt-jobs
+ - name: 'cntt-opnfv-functest-healthcheck-{tag}-vmready1-run'
+ <<: *cntt-jobs
+ - name: 'cntt-opnfv-functest-healthcheck-{tag}-vmready2-run'
+ <<: *cntt-jobs
+ - name: 'cntt-opnfv-functest-healthcheck-{tag}-singlevm1-run'
+ <<: *cntt-jobs
+ - name: 'cntt-opnfv-functest-healthcheck-{tag}-singlevm2-run'
+ <<: *cntt-jobs
+ - name: 'cntt-opnfv-functest-healthcheck-{tag}-vping_ssh-run'
+ <<: *cntt-jobs
+ - name: 'cntt-opnfv-functest-healthcheck-{tag}-vping_userdata-run'
+ <<: *cntt-jobs
+ - name: 'cntt-opnfv-functest-healthcheck-{tag}-cinder_test-run'
+ <<: *cntt-jobs
+ - name: 'cntt-opnfv-functest-healthcheck-{tag}-odl-run'
+ <<: *cntt-jobs
+ - name: 'cntt-opnfv-functest-healthcheck-{tag}-tempest_smoke-run'
+ <<: *cntt-jobs
+ - multijob:
+ name: opnfv/functest-smoke:{functest_tag}
+ condition: ALWAYS
+ projects:
+ - name: 'cntt-opnfv-functest-smoke-{tag}-neutron-tempest-plugin-api-run'
+ <<: *cntt-jobs
+ - name: 'cntt-opnfv-functest-smoke-{tag}-tempest_cinder-run'
+ <<: *cntt-jobs
+ - name: 'cntt-opnfv-functest-smoke-{tag}-tempest_keystone-run'
+ <<: *cntt-jobs
+ - name: 'cntt-opnfv-functest-smoke-{tag}-rally_sanity-run'
+ <<: *cntt-jobs
+ - name: 'cntt-opnfv-functest-smoke-{tag}-refstack_defcore-run'
+ <<: *cntt-jobs
+ - name: 'cntt-opnfv-functest-smoke-{tag}-tempest_full-run'
+ <<: *cntt-jobs
+ - name: 'cntt-opnfv-functest-smoke-{tag}-tempest_scenario-run'
+ <<: *cntt-jobs
+ - name: 'cntt-opnfv-functest-smoke-{tag}-tempest_slow-run'
+ <<: *cntt-jobs
+ - name: 'cntt-opnfv-functest-smoke-{tag}-patrole-run'
+ <<: *cntt-jobs
+ - name: 'cntt-opnfv-functest-smoke-{tag}-neutron_trunk-run'
+ <<: *cntt-jobs
+ - name: 'cntt-opnfv-functest-smoke-{tag}-networking-bgpvpn-run'
+ <<: *cntt-jobs
+ - name: 'cntt-opnfv-functest-smoke-{tag}-networking-sfc-run'
+ <<: *cntt-jobs
+ - name: 'cntt-opnfv-functest-smoke-{tag}-barbican-run'
+ <<: *cntt-jobs
+ - multijob:
+ name: opnfv/functest-smoke-cntt:{tag}
+ condition: ALWAYS
+ projects:
+ - name: 'cntt-opnfv-functest-smoke-cntt-{tag}-neutron-tempest-plugin-api-run'
+ <<: *cntt-jobs
+ - name: 'cntt-opnfv-functest-smoke-cntt-{tag}-tempest_cinder-run'
+ <<: *cntt-jobs
+ - name: 'cntt-opnfv-functest-smoke-cntt-{tag}-tempest_keystone-run'
+ <<: *cntt-jobs
+ - name: 'cntt-opnfv-functest-smoke-cntt-{tag}-rally_sanity-run'
+ <<: *cntt-jobs
+ - name: 'cntt-opnfv-functest-smoke-cntt-{tag}-tempest_full-run'
+ <<: *cntt-jobs
+ - name: 'cntt-opnfv-functest-smoke-cntt-{tag}-tempest_scenario-run'
+ <<: *cntt-jobs
+ - name: 'cntt-opnfv-functest-smoke-cntt-{tag}-tempest_slow-run'
+ <<: *cntt-jobs
+ - multijob:
+ name: opnfv/functest-benchmarking:{functest_tag}
+ condition: ALWAYS
+ projects:
+ - name: 'cntt-opnfv-functest-benchmarking-{tag}-rally_full-run'
+ <<: *cntt-jobs
+ - name: 'cntt-opnfv-functest-benchmarking-{tag}-rally_jobs-run'
+ <<: *cntt-jobs
+ - name: 'cntt-opnfv-functest-benchmarking-{tag}-vmtp-run'
+ <<: *cntt-jobs
+ - name: 'cntt-opnfv-functest-benchmarking-{tag}-shaker-run'
+ <<: *cntt-jobs
+ - multijob:
+ name: opnfv/functest-vnf:{functest_tag}
+ condition: ALWAYS
+ execution-type: SEQUENTIALLY
+ projects:
+ - name: 'cntt-opnfv-functest-vnf-{tag}-cloudify-run'
+ <<: *cntt-jobs
+ - name: 'cntt-opnfv-functest-vnf-{tag}-cloudify_ims-run'
+ <<: *cntt-jobs
+ - name: 'cntt-opnfv-functest-vnf-{tag}-heat_ims-run'
+ <<: *cntt-jobs
+ - name: 'cntt-opnfv-functest-vnf-{tag}-vyos_vrouter-run'
+ <<: *cntt-jobs
+ - name: 'cntt-opnfv-functest-vnf-{tag}-juju_epc-run'
+ <<: *cntt-jobs
+
+- trigger:
+ name: cntt-patchset-created
+ triggers:
+ - gerrit:
+ server-name: 'gerrit.opnfv.org'
+ trigger-on:
+ - patchset-created-event
+ - comment-added-contains-event:
+ comment-contains-value: 'recheck'
+ - comment-added-contains-event:
+ comment-contains-value: 'reverify'
+ projects:
+ - project-compare-type: 'ANT'
+ project-pattern: 'airship'
+ branches:
+ - branch-compare-type: 'ANT'
+ branch-pattern: '**/{branch}'
+ skip-vote:
+ successful: false
+ failed: false
+ unstable: false
+ notbuilt: false
+
+- job-template:
+ name: 'cntt-{tag}-gate'
+ project-type: multijob
+ disabled: true
+ triggers:
+ - cntt-patchset-created:
+ branch: '{branch}'
+ parameters:
+ - cntt-slave:
+ slave: '{slave}'
+ - cntt-build_tag:
+ build_tag: ''
+ - cntt-DEBUG:
+ DEBUG: 'true'
+ - cntt-EXTERNAL_NETWORK:
+ EXTERNAL_NETWORK: public
+ properties:
+ - build-blocker:
+ use-build-blocker: true
+ blocking-level: 'NODE'
+ blocking-jobs:
+ - '^cntt-{tag}-(daily|gate)$'
+ builders:
+ - multijob:
+ name: deploy
+ projects:
+ - name: 'cntt-deploy-gate-{tag}'
+ <<: *cntt-jobs
+ - multijob:
+ name: remove former images
+ projects:
+ - name: 'cntt-opnfv-functest-healthcheck-{tag}-rmi'
+ <<: *cntt-jobs
+ - name: 'cntt-opnfv-functest-smoke-{tag}-rmi'
+ <<: *cntt-jobs
+ - name: 'cntt-opnfv-functest-smoke-cntt-{tag}-rmi'
+ <<: *cntt-jobs
+ - name: 'cntt-opnfv-functest-benchmarking-{tag}-rmi'
+ <<: *cntt-jobs
+ - name: 'cntt-opnfv-functest-vnf-{tag}-rmi'
+ <<: *cntt-jobs
+ - multijob:
+ name: pull containers
+ projects:
+ - name: 'cntt-opnfv-functest-healthcheck-{tag}-pull'
+ <<: *cntt-jobs
+ - name: 'cntt-opnfv-functest-smoke-{tag}-pull'
+ <<: *cntt-jobs
+ - name: 'cntt-opnfv-functest-smoke-cntt-{tag}-pull'
+ <<: *cntt-jobs
+ - name: 'cntt-opnfv-functest-benchmarking-{tag}-pull'
+ <<: *cntt-jobs
+ - name: 'cntt-opnfv-functest-vnf-{tag}-pull'
+ <<: *cntt-jobs
+ - multijob:
+ name: opnfv/functest-healthcheck:{functest_tag}
+ projects:
+ - name: 'cntt-opnfv-functest-healthcheck-{tag}-connection_check-run'
+ <<: *cntt-jobs
+ - name: 'cntt-opnfv-functest-healthcheck-{tag}-tenantnetwork1-run'
+ <<: *cntt-jobs
+ - name: 'cntt-opnfv-functest-healthcheck-{tag}-tenantnetwork2-run'
+ <<: *cntt-jobs
+ - name: 'cntt-opnfv-functest-healthcheck-{tag}-vmready1-run'
+ <<: *cntt-jobs
+ - name: 'cntt-opnfv-functest-healthcheck-{tag}-vmready2-run'
+ <<: *cntt-jobs
+ - name: 'cntt-opnfv-functest-healthcheck-{tag}-singlevm1-run'
+ <<: *cntt-jobs
+ - name: 'cntt-opnfv-functest-healthcheck-{tag}-singlevm2-run'
+ <<: *cntt-jobs
+ - name: 'cntt-opnfv-functest-healthcheck-{tag}-vping_ssh-run'
+ <<: *cntt-jobs
+ - name: 'cntt-opnfv-functest-healthcheck-{tag}-vping_userdata-run'
+ <<: *cntt-jobs
+ - name: 'cntt-opnfv-functest-healthcheck-{tag}-cinder_test-run'
+ <<: *cntt-jobs
+ - name: 'cntt-opnfv-functest-healthcheck-{tag}-odl-run'
+ <<: *cntt-jobs
+ - multijob:
+ name: opnfv/functest-smoke:{functest_tag}
+ projects:
+ - name: 'cntt-opnfv-functest-smoke-{tag}-tempest_scenario-run'
+ <<: *cntt-jobs
+ - name: 'cntt-opnfv-functest-smoke-{tag}-neutron_trunk-run'
+ <<: *cntt-jobs
+ - name: 'cntt-opnfv-functest-smoke-{tag}-networking-bgpvpn-run'
+ <<: *cntt-jobs
+ - name: 'cntt-opnfv-functest-smoke-{tag}-networking-sfc-run'
+ <<: *cntt-jobs
+ - name: 'cntt-opnfv-functest-smoke-{tag}-barbican-run'
+ <<: *cntt-jobs
+ - multijob:
+ name: opnfv/functest-benchmarking:{functest_tag}
+ projects:
+ - name: 'cntt-opnfv-functest-benchmarking-{tag}-vmtp-run'
+ <<: *cntt-jobs
+ - name: 'cntt-opnfv-functest-benchmarking-{tag}-shaker-run'
+ <<: *cntt-jobs
+ - multijob:
+ name: opnfv/functest-vnf:{functest_tag}
+ condition: ALWAYS
+ execution-type: SEQUENTIALLY
+ projects:
+ - name: 'cntt-opnfv-functest-vnf-{tag}-cloudify-run'
+ <<: *cntt-jobs
+ - name: 'cntt-opnfv-functest-vnf-{tag}-cloudify_ims-run'
+ <<: *cntt-jobs
+ - name: 'cntt-opnfv-functest-vnf-{tag}-heat_ims-run'
+ <<: *cntt-jobs
+ - name: 'cntt-opnfv-functest-vnf-{tag}-vyos_vrouter-run'
+ <<: *cntt-jobs
+ - name: 'cntt-opnfv-functest-vnf-{tag}-juju_epc-run'
+ <<: *cntt-jobs
+
+- project:
+ name: 'cntt'
+ <<: *cntt-params
+ jobs:
+ - 'cntt-{tag}-daily'
+ - 'cntt-{tag}-gate'
+
+- view:
+ name: cntt
+ view-type: list
+ columns:
+ - status
+ - weather
+ - job
+ - last-success
+ - last-failure
+ - last-duration
+ regex: ^cntt-[a-z]+-(daily|check|gate)$
baremetal-slave: 'apex-baremetal-master'
verify-scenario: 'os-nosdn-nofeature-noha'
scenario_stream: 'master'
- disable_daily: false
+ disable_daily: true
disable_promote: true
- hunter: &hunter
branch: 'stable/hunter'
baremetal-slave: 'apex-baremetal-master'
verify-scenario: 'os-nosdn-nofeature-ha'
scenario_stream: 'hunter'
- disable_daily: false
+ disable_daily: true
disable_promote: true
- gambia: &gambia
branch: 'stable/gambia'
baremetal-slave: 'apex-baremetal-master'
verify-scenario: 'os-nosdn-nofeature-noha'
scenario_stream: 'master'
- disable_daily: false
+ disable_daily: true
disable_promote: true
- hunter: &hunter
branch: 'stable/hunter'
baremetal-slave: 'apex-baremetal-master'
verify-scenario: 'os-nosdn-nofeature-ha'
scenario_stream: 'hunter'
- disable_daily: false
+ disable_daily: true
disable_promote: true
- gambia: &gambia
branch: 'stable/gambia'
+++ /dev/null
----
-- project:
- name: auto-rtd
- project: auto
- project-name: auto
-
- project-pattern: 'auto'
- rtd-build-url: 'https://readthedocs.org/api/v2/webhook/opnfv-auto/47350/'
- rtd-token: '3c2277762678c97e59d24c83201194d6b56d7983'
-
- stream:
- - master:
- branch: '{stream}'
- disabled: false
- - gambia:
- branch: 'stable/{stream}'
- disabled: false
-
- jobs:
- - '{project-name}-rtd-jobs'
+++ /dev/null
----
-# jenkins job templates for Auto
-- project:
- name: 'auto-ci-jobs'
- project: 'auto'
-
- # -------------------------------
- # BRANCH ANCHORS
- # -------------------------------
- stream:
- - master:
- branch: '{stream}'
- gs-pathname: ''
- disabled: false
- - gambia:
- branch: 'stable/{stream}'
- gs-pathname: '/{stream}'
- disabled: false
- - fraser:
- branch: 'stable/{stream}'
- gs-pathname: '/{stream}'
- disabled: false
- # -------------------------------
- # DEPLOY TYPE ANCHORS
- # -------------------------------
- baremetal: &baremetal
- installer: 'fuel'
- slave-label: 'auto-baremetal'
- # -------------------------------
- # POD, INSTALLER, AND BRANCH MAPPING
- # -------------------------------
- # CI POD's
- # -------------------------------
- pod:
- - auto-baremetal:
- <<: *baremetal
- # -------------------------------
- # scenarios
- # -------------------------------
- scenario:
- # HA scenarios
- - 'os-nosdn-onap-ha':
- auto-trigger-name: 'fuel-{scenario}-{pod}-{stream}-trigger'
-
- jobs:
- - 'fuel-{scenario}-{pod}-auto-daily-{stream}'
- - 'fuel-deploy-{pod}-daily-{stream}'
- - 'auto-daily-{stream}'
- - 'auto-verify-{stream}'
- - 'auto-merge-{stream}'
-
-########################
-# job templates
-########################
-- job-template:
- name: 'fuel-{scenario}-{pod}-auto-daily-{stream}'
-
- disabled: '{obj:disabled}'
-
- concurrent: false
-
- properties:
- - logrotate-default
- - throttle:
- enabled: true
- max-total: 4
- max-per-node: 1
- option: 'project'
- - build-blocker:
- use-build-blocker: true
- blocking-jobs:
- - 'fuel-os-.*?-{pod}-auto-daily-.*'
- blocking-level: 'NODE'
-
- wrappers:
- - build-name:
- name: '$BUILD_NUMBER - Scenario: $DEPLOY_SCENARIO'
-
- triggers:
- - '{auto-trigger-name}'
-
- parameters:
- - project-parameter:
- project: '{project}'
- branch: '{branch}'
- - '{installer}-defaults':
- gs-pathname: '{gs-pathname}'
- - '{slave-label}-defaults':
- installer: '{installer}'
- - string:
- name: DEPLOY_SCENARIO
- default: '{scenario}'
-
- builders:
- - trigger-builds:
- - project: 'fuel-deploy-{pod}-daily-{stream}'
- current-parameters: false
- predefined-parameters: |
- DEPLOY_SCENARIO=os-nosdn-nofeature-ha
- PROJECT=armband
- same-node: true
- block: true
-
-- job-template:
- name: 'auto-daily-{stream}'
-
- disabled: '{obj:disabled}'
-
- properties:
- - logrotate-default
- - build-blocker:
- use-build-blocker: true
- blocking-jobs:
- - 'auto-daily-.*'
- blocking-level: 'NODE'
-
- parameters:
- - project-parameter:
- project: '{project}'
- branch: '{branch}'
- - 'intel-pod18-defaults'
-
- scm:
- - git-scm
-
- triggers:
- - timed: '0 16 * * *'
-
- builders:
- - shell: |
- pwd
- ./ci/build-auto.sh daily
-
-- job-template:
- name: 'auto-verify-{stream}'
-
- disabled: '{obj:disabled}'
-
- project-type: freestyle
-
- concurrent: true
-
- properties:
- - logrotate-default
-
- parameters:
- - project-parameter:
- project: '{project}'
- branch: '{branch}'
- - 'opnfv-build-ubuntu-defaults'
-
- scm:
- - git-scm-gerrit
-
- triggers:
- - gerrit:
- server-name: 'gerrit.opnfv.org'
- 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: '{project}'
- branches:
- - branch-compare-type: 'ANT'
- branch-pattern: '**/{branch}'
- forbidden-file-paths:
- - compare-type: ANT
- pattern: 'docs/**'
-
- builders:
- - shell: |
- pwd
- ./ci/build-auto.sh verify
-
-- job-template:
- name: 'auto-merge-{stream}'
-
- disabled: '{obj:disabled}'
-
- project-type: freestyle
-
- concurrent: true
-
- properties:
- - logrotate-default
-
- parameters:
- - project-parameter:
- project: '{project}'
- branch: '{branch}'
- - 'opnfv-build-ubuntu-defaults'
-
- scm:
- - git-scm
-
- triggers:
- - gerrit:
- server-name: 'gerrit.opnfv.org'
- trigger-on:
- - change-merged-event
- - comment-added-contains-event:
- comment-contains-value: 'remerge'
- projects:
- - project-compare-type: 'ANT'
- project-pattern: '{project}'
- branches:
- - branch-compare-type: 'ANT'
- branch-pattern: '**/{branch}'
- forbidden-file-paths:
- - compare-type: ANT
- pattern: 'docs/**'
-
- builders:
- - shell: |
- pwd
- ./ci/build-auto.sh merge
-
-########################
-# trigger macros
-########################
-# CI PODs
-# ----------------------------------------------------------------
-# Auto CI Baremetal Triggers running against master branch
-# ----------------------------------------------------------------
-- trigger:
- name: 'fuel-os-nosdn-onap-ha-auto-baremetal-master-trigger'
- triggers:
- - timed: ''
-# ---------------------------------------------------------------------
-# Auto CI Baremetal Triggers running against fraser branch
-# ---------------------------------------------------------------------
-- trigger:
- name: 'fuel-os-nosdn-onap-ha-auto-baremetal-fraser-trigger'
- triggers:
- - timed: ''
-# ---------------------------------------------------------------------
-# Auto CI Baremetal Triggers running against gambia branch
-# ---------------------------------------------------------------------
-- trigger:
- name: 'fuel-os-nosdn-onap-ha-auto-baremetal-gambia-trigger'
- triggers:
- - timed: ''
- master:
branch: '{stream}'
disabled: false
+ - hunter: &hunter
+ branch: 'stable/{stream}'
+ gs-pathname: '/{stream}'
+ disabled: false
- gambia:
branch: 'stable/{stream}'
disabled: false
- master:
branch: '{stream}'
disabled: false
+ - hunter: &hunter
+ branch: 'stable/{stream}'
+ gs-pathname: '/{stream}'
+ disabled: false
- gambia:
branch: 'stable/{stream}'
disabled: false
branch: '{stream}'
gs-pathname: ''
disabled: false
- - gambia: &gambia
+ - hunter: &hunter
+ branch: 'stable/{stream}'
+ gs-pathname: '/{stream}'
+ disabled: false
+ - gambia:
branch: 'stable/{stream}'
gs-pathname: '/{stream}'
disabled: false
- timed: '@midnight'
builders:
- - shell:
- !include-raw-escape: ./barometer-build.sh
- - shell:
- !include-raw-escape: ./barometer-upload-artifact.sh
+ - shell: !include-raw-escape: ./barometer-build.sh
+ - shell: !include-raw-escape: ./barometer-upload-artifact.sh
########################
# parameter macros
+++ /dev/null
----
-####################################
-# job configuration for bottlenecks
-####################################
-- project:
- name: bottlenecks-ci-jobs
-
- project: 'bottlenecks'
-
- # -------------------------------
- # BRANCH ANCHORS
- # -------------------------------
- master: &master
- stream: master
- branch: '{stream}'
- # This is used for common project file storage
- gs-pathname: ''
- # This is used for different test suite dependent packages storage
- gs-packagepath: '/{suite}'
- # docker tag used for version control
- docker-tag: 'latest'
- gambia: &gambia
- stream: gambia
- branch: 'stable/{stream}'
- gs-pathname: '/{stream}'
- gs-packagepath: '/{stream}/{suite}'
- docker-tag: 'stable'
- # -------------------------------
- # POD, INSTALLER, AND BRANCH MAPPING
- # -------------------------------
- # Installers using labels
- # CI PODs
- # This section should only contain the installers
- # that have been switched using labels for slaves
- # -------------------------------
- pod:
- # compass CI PODs
- - baremetal:
- slave-label: compass-baremetal-master
- installer: compass
- auto-trigger-name: 'daily-trigger-disabled'
- <<: *master
- - virtual:
- slave-label: compass-virtual-master
- installer: compass
- auto-trigger-name: 'daily-trigger-disabled'
- <<: *master
- - baremetal:
- slave-label: compass-baremetal-branch
- installer: compass
- auto-trigger-name: 'daily-trigger-disabled'
- <<: *gambia
- - virtual:
- slave-label: compass-virtual-branch
- installer: compass
- auto-trigger-name: 'daily-trigger-disabled'
- <<: *gambia
-
- # -------------------------------
- # None-CI PODs
- # -------------------------------
- # - orange-pod2:
- # slave-label: '{pod}'
- # installer: joid
- # auto-trigger-name: 'daily-trigger-disabled'
- # <<: *fraser
- # - orange-pod2:
- # slave-label: '{pod}'
- # installer: joid
- # auto-trigger-name: 'daily-trigger-disabled'
- # <<: *master
- # -------------------------------------------
- suite:
- - 'posca_stress_traffic'
- - 'posca_stress_ping'
- - 'posca_factor_multistack_storage'
- - 'posca_factor_multistack_storage_parallel'
- - 'posca_feature_moon_resources'
- - 'posca_feature_moon_tenants'
- - 'posca_feature_vnf_scale_out'
- - 'posca_factor_soak_throughputs'
- - 'kubestone_deployment_capacity'
-
- jobs:
- - 'bottlenecks-{installer}-{suite}-{pod}-daily-{stream}'
-
-################################
-# job templates
-################################
-- job-template:
- name: 'bottlenecks-{installer}-{suite}-{pod}-daily-{stream}'
-
- wrappers:
- - build-name:
- name: '$BUILD_NUMBER - Scenario: $DEPLOY_SCENARIO'
- - timeout:
- timeout: 180
- abort: true
- - fix-workspace-permissions
-
- triggers:
- - '{auto-trigger-name}'
-
- parameters:
- - project-parameter:
- project: '{project}'
- branch: '{branch}'
- - '{slave-label}-defaults'
- - '{installer}-defaults'
- - 'bottlenecks-params-{slave-label}'
- - string:
- name: REPO_DIR
- default: "/home/opnfv/bottlenecks"
- description: "Directory where the repository is cloned"
- - string:
- name: DEPLOY_SCENARIO
- default: 'os-odl_l2-nofeature-ha'
- - string:
- name: GERRIT_REFSPEC_DEBUG
- default: 'true'
- description: "Gerrit refspec for debug."
- - string:
- name: SUITE_NAME
- default: '{suite}'
- description: "test suite name."
- - string:
- name: DOCKER_TAG
- default: '{docker-tag}'
- description: "docker image tag used for version control"
-
- scm:
- - git-scm
-
- builders:
- - 'bottlenecks-env-cleanup'
- - 'bottlenecks-run-suite'
- - 'bottlenecks-workspace-cleanup'
-
- publishers:
- - email:
- recipients: gabriel.yuyang@huawei.com, liyin11@huawei.com
- - email-jenkins-admins-on-failure
-
-########################
-# builder macros
-########################
-- builder:
- name: bottlenecks-env-cleanup
- builders:
- - shell:
- !include-raw: ./bottlenecks-cleanup.sh
-
-- builder:
- name: bottlenecks-run-suite
- builders:
- - shell:
- !include-raw: ./bottlenecks-run-suite.sh
-
-- builder:
- name: bottlenecks-workspace-cleanup
- builders:
- - shell: |
- #!/bin/bash
- set -o errexit
- set -o nounset
- set -o pipefail
-
- # delete everything that is in $WORKSPACE
- sudo rm -rf $WORKSPACE
-
-####################
-# parameter macros
-####################
-
-- parameter:
- name: 'bottlenecks-params-compass-baremetal-master'
- parameters:
- - string:
- name: BOTTLENECKS_DB_TARGET
- default: 'http://testresults.opnfv.org/test/api/v1/results'
- description: 'Arguments to use in order to choose the backend DB'
-
-- parameter:
- name: 'bottlenecks-params-compass-virtual-master'
- parameters:
- - string:
- name: BOTTLENECKS_DB_TARGET
- default: 'http://testresults.opnfv.org/test/api/v1/results'
- description: 'Arguments to use in order to choose the backend DB'
-
-- parameter:
- name: 'bottlenecks-params-compass-baremetal-branch'
- parameters:
- - string:
- name: BOTTLENECKS_DB_TARGET
- default: 'http://testresults.opnfv.org/test/api/v1/results'
- description: 'Arguments to use in order to choose the backend DB'
-
-- parameter:
- name: 'bottlenecks-params-compass-virtual-branch'
- parameters:
- - string:
- name: BOTTLENECKS_DB_TARGET
- default: 'http://testresults.opnfv.org/test/api/v1/results'
- description: 'Arguments to use in order to choose the backend DB'
# This is used for different test suite dependent packages storage
gs-packagepath: '/{suite}'
disabled: false
- - gambia:
- branch: 'stable/{stream}'
- gs-pathname: '/{stream}'
- gs-packagepath: '/{stream}/{suite}'
- disabled: false
- - fraser:
+ - hunter: &hunter
branch: 'stable/{stream}'
gs-pathname: '/{stream}'
gs-packagepath: '/{stream}/{suite}'
- master:
branch: '{stream}'
disabled: false
- - gambia:
+ - hunter:
branch: 'stable/{stream}'
disabled: false
POSCA_SCRIPT=/home/opnfv/bottlenecks/testsuites/posca
sudo rm -f ${OPENRC}
- # Preparing OpenStack RC and Cacert files
- echo "BOTTLENECKS INFO: fetching os credentials from $INSTALLER_TYPE"
- if [[ $INSTALLER_TYPE == 'compass' ]]; then
- ${RELENG_REPO}/utils/fetch_os_creds.sh -d ${OPENRC} -i ${INSTALLER_TYPE} -a ${INSTALLER_IP} -o ${OS_CACERT} >${redirect}
- if [[ -f ${OS_CACERT} ]]; then
- echo "BOTTLENECKS INFO: successfully fetching os_cacert for openstack: ${OS_CACERT}"
- else
- echo "BOTTLENECKS ERROR: couldn't find os_cacert file: ${OS_CACERT}, please check if the it's been properly provided."
- exit 1
- fi
- fi
-
if [[ -f ${OPENRC} ]]; then
echo "BOTTLENECKS INFO: openstack credentials path is ${OPENRC}"
- if [[ $INSTALLER_TYPE == 'compass' ]]; then
- echo "BOTTLENECKS INFO: writing ${OS_CACERT} to ${OPENRC}"
- echo "export OS_CACERT=${OS_CACERT}" >> ${OPENRC}
- fi
cat ${OPENRC}
else
echo "BOTTLENECKS ERROR: couldn't find openstack rc file: ${OPENRC}, please check if the it's been properly provided."
sudo -H pip install -e ./ >/dev/null
sudo -H pip install netaddr
- if [[ ${INSTALLER_TYPE} == compass ]]; then
- options="-u root -p root"
- elif [[ ${INSTALLER_TYPE} == fuel ]]; then
+ if [[ ${INSTALLER_TYPE} == fuel ]]; then
options="-u root -p r00tme"
elif [[ ${INSTALLER_TYPE} == apex ]]; then
options="-u stack -k /root/.ssh/id_rsa"
echo "Don't support to generate pod.yaml on ${INSTALLER_TYPE} currently."
fi
- if [[ ${INSTALLER_TYPE} != compass ]]; then
- cmd="sudo python ${RELENG_REPO}/utils/create_pod_file.py -t ${INSTALLER_TYPE} \
- -i ${INSTALLER_IP} ${options} -f ${BOTTLENECKS_CONFIG}/pod.yaml \
- -s ${BOTTLENECKS_CONFIG}/id_rsa"
- echo ${cmd}
- ${cmd}
- else
- cmd="sudo cp ${YARDSTICK_REPO}/etc/yardstick/nodes/compass_sclab_virtual/pod.yaml \
- ${BOTTLENECKS_CONFIG}"
- echo ${cmd}
- ${cmd}
- fi
-
deactivate
sudo rm -rf ${RELENG_REPO}/modules/venv
- bottlenecks
- calipso
- clover
- - compass-containers
- - compass4nfv
- conductor
- container4nfv
- cperf
- enfv
- fds
- fuel
- - functest
- ipv6
- joid
- kvmfornfv
- models
- moon
- - netready
- nfvbench
- onosfw
- opera
- ovsnfv
- parser
- pharos
- - pharos-tools
- promise
- qtip
- releng
comment-contains-value: 'recheck'
projects:
- project-compare-type: 'REG_EXP'
- project-pattern: 'apex|armband|bamboo|barometer|bottlenecks|calipso|compass4nfv|conductor|cperf|daisy|doctor|dovetail|dpacc|enfv|fds|fuel|functest|pharos|releng|sandbox|yardstick|infra|ipv6|kvmfornfv|models|moon|netready'
+ project-pattern: 'apex|armband|bamboo|barometer|bottlenecks|calipso|conductor|cperf|daisy|doctor|dovetail|dpacc|enfv|fds|fuel|pharos|releng|sandbox|yardstick|infra|ipv6|kvmfornfv|models|moon'
branches:
- branch-compare-type: 'ANT'
branch-pattern: '**/{branch}'
branch: '{stream}'
gs-pathname: ''
disabled: false
- - gambia:
- branch: 'stable/{stream}'
- gs-pathname: '/{stream}'
- disabled: false
- - fraser:
+ - hunter:
branch: 'stable/{stream}'
gs-pathname: '/{stream}'
disabled: false
- master:
branch: '{stream}'
disabled: false
- - gambia:
+ - hunter:
branch: 'stable/{stream}'
disabled: false
--- /dev/null
+---
+- project:
+ name: clover-view
+ views:
+ - project-view
+ project-name: clover
+++ /dev/null
-#!/bin/bash
-set -o errexit
-set -o nounset
-set -o pipefail
-set -x
-
-# log info to console
-echo "Starting the build of $INSTALLER_TYPE. This could take some time..."
-echo "--------------------------------------------------------"
-echo
-
-# create the cache directory if it doesn't exist
-[[ -d $CACHE_DIRECTORY ]] || mkdir -p $CACHE_DIRECTORY
-[[ -d $BUILD_DIRECTORY ]] || mkdir -p $BUILD_DIRECTORY
-
-# set OPNFV_ARTIFACT_VERSION
-export OPNFV_ARTIFACT_VERSION=$(date -u +"%Y-%m-%d_%H-%M-%S")
-export PACKAGE_URL=$PPA_REPO
-
-# start the build
-if [ -d $PPA_CACHE ]
-then
- cp $PPA_CACHE/*.tar.gz $PPA_CACHE/*.iso $PPA_CACHE/*.img $CACHE_DIRECTORY/ -f
-fi
-
-cd $WORKSPACE/
-
-if [[ "$BRANCH" == 'stable/danube' ]]; then
- ./build.sh --iso-dir $BUILD_DIRECTORY/ --iso-name compass.iso -c $CACHE_DIRECTORY
- OPNFV_ARTIFACT_SHA512SUM=$(sha512sum $BUILD_DIRECTORY/compass.iso | cut -d' ' -f1)
- OPNFV_ARTIFACT_URL=$GS_URL/opnfv-$OPNFV_ARTIFACT_VERSION.iso
-else
- ./build.sh --tar-dir $BUILD_DIRECTORY/ --tar-name compass.tar.gz -c $CACHE_DIRECTORY
- OPNFV_ARTIFACT_SHA512SUM=$(sha512sum $BUILD_DIRECTORY/compass.tar.gz | cut -d' ' -f1)
- OPNFV_ARTIFACT_URL=$GS_URL/opnfv-$OPNFV_ARTIFACT_VERSION.tar.gz
-fi
-
-# list the build artifacts
-ls -al $BUILD_DIRECTORY
-
-# save information regarding artifact into file
-(
- echo "OPNFV_ARTIFACT_VERSION=$OPNFV_ARTIFACT_VERSION"
- echo "OPNFV_GIT_URL=$(git config --get remote.origin.url)"
- echo "OPNFV_GIT_SHA1=$(git rev-parse HEAD)"
- echo "OPNFV_ARTIFACT_URL=$OPNFV_ARTIFACT_URL"
- echo "OPNFV_ARTIFACT_SHA512SUM=$OPNFV_ARTIFACT_SHA512SUM"
- echo "OPNFV_BUILD_URL=$BUILD_URL"
-) > $BUILD_DIRECTORY/opnfv.properties
-echo
-echo "--------------------------------------------------------"
-echo "Done!"
+++ /dev/null
----
-- project:
-
- name: compass-ci
-
- installer: 'compass'
-
- project: 'compass4nfv'
-
- master: &master
- stream: master
- branch: '{stream}'
- gs-pathname: ''
- ppa-pathname: '/{stream}'
- disabled: false
- openstack-version: queens
- gambia: &gambia
- stream: gambia
- branch: 'stable/{stream}'
- disabled: false
- gs-pathname: '/{stream}'
- ppa-pathname: '/{stream}'
- openstack-version: queens
- danube: &danube
- stream: danube
- branch: 'stable/{stream}'
- gs-pathname: '/{stream}'
- ppa-pathname: '/{stream}'
- disabled: false
- openstack-version: newton
- # -------------------------------
- # POD, INSTALLER, AND BRANCH MAPPING
- # -------------------------------
- # CI PODs
- # -------------------------------
- pod:
- - baremetal:
- slave-label: compass-baremetal-master
- os-version: 'xenial'
- <<: *master
- - virtual:
- slave-label: compass-virtual-master
- os-version: 'xenial'
- <<: *master
- - baremetal:
- slave-label: compass-baremetal-branch
- os-version: 'xenial'
- <<: *gambia
- - virtual:
- slave-label: compass-virtual-branch
- os-version: 'xenial'
- <<: *gambia
- # -------------------------------
- # master
- # -------------------------------
- - baremetal-centos:
- slave-label: 'intel-pod17'
- os-version: 'centos7'
- <<: *master
- # -------------------------------
- # danube for dovetail
- # -------------------------------
- - huawei-pod7:
- slave-label: 'huawei-pod7'
- os-version: 'xenial'
- <<: *danube
-
- scenario:
- - 'os-nosdn-nofeature-ha':
- disabled: false
- auto-trigger-name: 'compass-{scenario}-{pod}-{stream}-trigger'
- - 'os-odl_l3-nofeature-ha':
- disabled: false
- auto-trigger-name: 'compass-{scenario}-{pod}-{stream}-trigger'
- - 'os-onos-nofeature-ha':
- disabled: false
- auto-trigger-name: 'compass-{scenario}-{pod}-{stream}-trigger'
- - 'os-ocl-nofeature-ha':
- disabled: false
- auto-trigger-name: 'compass-{scenario}-{pod}-{stream}-trigger'
- - 'os-onos-sfc-ha':
- disabled: false
- auto-trigger-name: 'compass-{scenario}-{pod}-{stream}-trigger'
- - 'os-odl_l2-moon-ha':
- disabled: false
- auto-trigger-name: 'compass-{scenario}-{pod}-{stream}-trigger'
- - 'os-nosdn-kvm-ha':
- disabled: false
- auto-trigger-name: 'compass-{scenario}-{pod}-{stream}-trigger'
- - 'os-nosdn-openo-ha':
- disabled: false
- auto-trigger-name: 'compass-{scenario}-{pod}-{stream}-trigger'
- - 'os-odl-sfc-ha':
- disabled: false
- auto-trigger-name: 'compass-{scenario}-{pod}-{stream}-trigger'
- - 'os-nosdn-ovs_dpdk-ha':
- disabled: false
- auto-trigger-name: 'compass-{scenario}-{pod}-{stream}-trigger'
- - 'k8-nosdn-nofeature-ha':
- disabled: false
- auto-trigger-name: 'compass-{scenario}-{pod}-{stream}-trigger'
- - 'os-nosdn-nofeature-noha':
- disabled: false
- auto-trigger-name: 'compass-{scenario}-{pod}-{stream}-trigger'
- - 'os-odl_l3-nofeature-noha':
- disabled: false
- auto-trigger-name: 'compass-{scenario}-{pod}-{stream}-trigger'
- - 'os-odl_l2-moon-noha':
- disabled: false
- auto-trigger-name: 'compass-{scenario}-{pod}-{stream}-trigger'
- - 'os-nosdn-kvm-noha':
- disabled: false
- auto-trigger-name: 'compass-{scenario}-{pod}-{stream}-trigger'
- - 'os-odl-sfc-noha':
- disabled: false
- auto-trigger-name: 'compass-{scenario}-{pod}-{stream}-trigger'
- - 'os-nosdn-ovs_dpdk-noha':
- disabled: false
- auto-trigger-name: 'compass-{scenario}-{pod}-{stream}-trigger'
- - 'os-nosdn-bar-ha':
- disabled: false
- auto-trigger-name: 'compass-{scenario}-{pod}-{stream}-trigger'
- - 'os-nosdn-bar-noha':
- disabled: false
- auto-trigger-name: 'compass-{scenario}-{pod}-{stream}-trigger'
- - 'k8-nosdn-stor4nfv-ha':
- disabled: false
- auto-trigger-name: 'compass-{scenario}-{pod}-{stream}-trigger'
- - 'k8-nosdn-stor4nfv-noha':
- disabled: false
- auto-trigger-name: 'compass-{scenario}-{pod}-{stream}-trigger'
- - 'os-nosdn-stor4nfv-ha':
- disabled: false
- auto-trigger-name: 'compass-{scenario}-{pod}-{stream}-trigger'
-
- jobs:
- - 'compass-{scenario}-{pod}-daily-{stream}'
- - 'compass-deploy-{pod}-daily-{stream}'
- - 'compass-collect-logs-{pod}-daily-{stream}'
-
-########################
-# job templates
-########################
-- job-template:
- name: 'compass-{scenario}-{pod}-daily-{stream}'
-
- disabled: '{obj:disabled}'
-
- concurrent: true
-
- properties:
- - logrotate-default
- - throttle:
- enabled: true
- max-per-node: 1
- option: 'project'
- - build-blocker:
- use-build-blocker: true
- blocking-jobs:
- - 'compass-os-.*?-{pod}-daily-.*?'
- - 'compass-k8-.*?-{pod}-daily-.*?'
- - 'compass-os-.*?-baremetal-daily-.*?'
- - 'compass-k8-.*?-baremetal-daily-.*?'
- - 'compass-verify-[^-]*-[^-]*'
- blocking-level: 'NODE'
-
- wrappers:
- - fix-workspace-permissions
-
- parameters:
- - project-parameter:
- project: '{project}'
- branch: '{branch}'
- - compass-ci-parameter:
- installer: '{installer}'
- gs-pathname: '{gs-pathname}'
- ppa-pathname: '{ppa-pathname}'
- - '{slave-label}-defaults'
- - '{installer}-defaults'
-
- triggers:
- - '{auto-trigger-name}'
-
- builders:
- - description-setter:
- description: "POD: $NODE_NAME"
- - trigger-builds:
- - project: 'compass-deploy-{pod}-daily-{stream}'
- current-parameters: true
- predefined-parameters: |
- DEPLOY_SCENARIO={scenario}
- COMPASS_OS_VERSION={os-version}
- COMPASS_OPENSTACK_VERSION={openstack-version}
- same-node: true
- block: true
- - trigger-builds:
- - project: 'functest-compass-{pod}-daily-{stream}'
- current-parameters: false
- predefined-parameters:
- DEPLOY_SCENARIO={scenario}
- same-node: true
- block: true
- block-thresholds:
- build-step-failure-threshold: 'never'
- failure-threshold: 'never'
- unstable-threshold: 'FAILURE'
- - trigger-builds:
- - project: 'yardstick-compass-{pod}-daily-{stream}'
- current-parameters: false
- predefined-parameters:
- DEPLOY_SCENARIO={scenario}
- block: true
- same-node: true
- block-thresholds:
- build-step-failure-threshold: 'never'
- failure-threshold: 'never'
- unstable-threshold: 'FAILURE'
- # here the stream means the SUT stream, dovetail stream is defined in its own job
- # only run on os-(nosdn|odl_l3)-nofeature-ha scenario
- # run with testsuite default, testarea mandatory, dovetail docker image with latest tag
- # run with testsuite default, testarea optional, dovetail docker image with latest tag
- # run with testsuite proposed_tests, testarea optional, dovetail docker image with latest tag
- - conditional-step:
- condition-kind: and
- condition-operands:
- - condition-kind: regex-match
- regex: os-(nosdn|odl_l3)-nofeature-ha
- label: '{scenario}'
- steps:
- - trigger-builds:
- - project: 'dovetail-compass-{pod}-default-mandatory-{stream}'
- current-parameters: false
- predefined-parameters: |
- DOCKER_TAG=latest
- DEPLOY_SCENARIO={scenario}
- block: true
- same-node: true
- block-thresholds:
- build-step-failure-threshold: 'never'
- failure-threshold: 'never'
- unstable-threshold: 'FAILURE'
- - project: 'dovetail-compass-{pod}-default-optional-{stream}'
- current-parameters: false
- predefined-parameters: |
- DOCKER_TAG=latest
- DEPLOY_SCENARIO={scenario}
- block: true
- same-node: true
- block-thresholds:
- build-step-failure-threshold: 'never'
- failure-threshold: 'never'
- unstable-threshold: 'FAILURE'
- - project: 'dovetail-compass-{pod}-proposed_tests-optional-{stream}'
- current-parameters: false
- predefined-parameters: |
- DOCKER_TAG=latest
- DEPLOY_SCENARIO={scenario}
- block: true
- same-node: true
- block-thresholds:
- build-step-failure-threshold: 'never'
- failure-threshold: 'never'
- unstable-threshold: 'FAILURE'
- - conditional-step:
- condition-kind: and
- condition-operands:
- - condition-kind: regex-match
- regex: os-nosdn-nofeature-ha
- label: '{scenario}'
- steps:
- - trigger-builds:
- - project: 'bottlenecks-compass-posca_factor_multistack_storage_parallel-{pod}-daily-{stream}'
- current-parameters: false
- predefined-parameters:
- DEPLOY_SCENARIO={scenario}
- block: true
- same-node: true
- block-thresholds:
- build-step-failure-threshold: 'never'
- failure-threshold: 'never'
- unstable-threshold: 'FAILURE'
- - project: 'bottlenecks-compass-posca_factor_soak_throughputs-{pod}-daily-{stream}'
- current-parameters: false
- predefined-parameters:
- DEPLOY_SCENARIO={scenario}
- block: true
- same-node: true
- block-thresholds:
- build-step-failure-threshold: 'never'
- failure-threshold: 'never'
- unstable-threshold: 'FAILURE'
- - project: 'bottlenecks-compass-posca_stress_ping-{pod}-daily-{stream}'
- current-parameters: false
- predefined-parameters:
- DEPLOY_SCENARIO={scenario}
- block: true
- same-node: true
- block-thresholds:
- build-step-failure-threshold: 'never'
- failure-threshold: 'never'
- unstable-threshold: 'FAILURE'
- - conditional-step:
- condition-kind: and
- condition-operands:
- - condition-kind: regex-match
- regex: k8-nosdn-nofeature-ha
- label: '{scenario}'
- steps:
- - trigger-builds:
- - project: 'bottlenecks-compass-kubestone_deployment_capacity-{pod}-daily-{stream}'
- current-parameters: false
- predefined-parameters:
- DEPLOY_SCENARIO={scenario}
- block: true
- same-node: true
- block-thresholds:
- build-step-failure-threshold: 'never'
- failure-threshold: 'never'
- unstable-threshold: 'FAILURE'
- - conditional-step:
- condition-kind: and
- condition-operands:
- - condition-kind: regex-match
- regex: master
- label: '{stream}'
- steps:
- - trigger-builds:
- - project: 'compass-collect-logs-{pod}-daily-{stream}'
- current-parameters: false
- predefined-parameters:
- DEPLOY_SCENARIO={scenario}
- block: true
- same-node: true
- block-thresholds:
- build-step-failure-threshold: 'never'
- failure-threshold: 'never'
- unstable-threshold: 'FAILURE'
-
-
-- job-template:
- name: 'compass-deploy-{pod}-daily-{stream}'
-
- disabled: false
-
- concurrent: true
-
- properties:
- - logrotate-default
- - throttle:
- enabled: true
- max-per-node: 1
- option: 'project'
- - build-blocker:
- use-build-blocker: true
- blocking-jobs:
- - 'compass-deploy-{pod}-daily-.*?'
- - 'compass-verify-deploy-.*?'
- blocking-level: 'NODE'
-
- wrappers:
- - build-name:
- name: '$BUILD_NUMBER - Scenario: $DEPLOY_SCENARIO'
- - timeout:
- timeout: 360
- abort: true
- - fix-workspace-permissions
-
- parameters:
- - project-parameter:
- project: '{project}'
- branch: '{branch}'
- - compass-ci-parameter:
- installer: '{installer}'
- gs-pathname: '{gs-pathname}'
- ppa-pathname: '{ppa-pathname}'
- - '{slave-label}-defaults'
- - '{installer}-defaults'
-
- scm:
- - git-scm
-
- builders:
- - description-setter:
- description: "POD: $NODE_NAME"
- - conditional-step:
- condition-kind: regex-match
- regex: master
- label: '{stream}'
- steps:
- - shell:
- !include-raw-escape: ./compass-build.sh
- - shell:
- !include-raw-escape: ./compass-deploy.sh
- - conditional-step:
- condition-kind: regex-match
- regex: (danube|gambia)
- label: '{stream}'
- steps:
- - shell:
- !include-raw-escape: ./compass-download-artifact.sh
- - shell:
- !include-raw-escape: ./compass-deploy.sh
-
-- job-template:
- name: 'compass-collect-logs-{pod}-daily-{stream}'
-
- disabled: '{obj:disabled}'
-
- concurrent: true
-
- properties:
- - logrotate-default
-
- parameters:
- - project-parameter:
- project: '{project}'
- branch: '{branch}'
- - compass-ci-parameter:
- installer: '{installer}'
- gs-pathname: '{gs-pathname}'
- ppa-pathname: '{ppa-pathname}'
- - '{slave-label}-defaults'
- - '{installer}-defaults'
-
-
- scm:
- - git-scm
-
- wrappers:
- - build-name:
- name: '$BUILD_NUMBER - Scenario: $DEPLOY_SCENARIO'
- - fix-workspace-permissions
-
- builders:
- - description-setter:
- description: "Built on $NODE_NAME"
- - shell:
- !include-raw-escape: ./compass-logs.sh
-
-########################
-# parameter macros
-########################
-- parameter:
- name: compass-ci-parameter
- parameters:
- - string:
- name: BUILD_DIRECTORY
- default: $WORKSPACE/build_output
- description: "Directory where the build artifact will be located upon the completion of the build."
- - string:
- name: GS_URL
- default: '$GS_BASE{gs-pathname}'
- description: "URL to Google Storage."
- - string:
- name: CACHE_DIRECTORY
- default: "$HOME/opnfv/cache/$PROJECT{gs-pathname}"
- description: "Directory where the cache to be used during the build is located."
- - string:
- name: PPA_REPO
- default: "https://artifacts.opnfv.org/compass4nfv/package{ppa-pathname}"
- - string:
- name: PPA_CACHE
- default: "$WORKSPACE/work/repo/"
- - string:
- name: LOG_DIRECTORY
- default: $WORKSPACE/log_output
- description: "Directory where the logs will be located upon the completion of the collection."
- - string:
- name: DEPLOY_SCENARIO
- default: 'os-nosdn-nofeature-ha'
- description: "Scenario to deploy with."
- - string:
- name: COMPASS_OS_VERSION
- default: ''
- - string:
- name: COMPASS_OPENSTACK_VERSION
- default: ''
-
-
-########################
-# trigger macros
-########################
-
-# --------------------------
-# ha-baremetal-centos-master
-# --------------------------
-- trigger:
- name: 'compass-os-nosdn-nofeature-ha-baremetal-centos-master-trigger'
- triggers:
- - timed: '0 19 * * *'
-- trigger:
- name: 'compass-os-nosdn-openo-ha-baremetal-centos-master-trigger'
- triggers:
- - timed: ''
-- trigger:
- name: 'compass-os-odl_l3-nofeature-ha-baremetal-centos-master-trigger'
- triggers:
- - timed: '0 15 * * *'
-- trigger:
- name: 'compass-os-onos-nofeature-ha-baremetal-centos-master-trigger'
- triggers:
- - timed: ''
-- trigger:
- name: 'compass-os-ocl-nofeature-ha-baremetal-centos-master-trigger'
- triggers:
- - timed: ''
-- trigger:
- name: 'compass-os-onos-sfc-ha-baremetal-centos-master-trigger'
- triggers:
- - timed: ''
-- trigger:
- name: 'compass-os-odl_l2-moon-ha-baremetal-centos-master-trigger'
- triggers:
- - timed: ''
-- trigger:
- name: 'compass-os-nosdn-kvm-ha-baremetal-centos-master-trigger'
- triggers:
- - timed: ''
-- trigger:
- name: 'compass-os-nosdn-ovs_dpdk-ha-baremetal-centos-master-trigger'
- triggers:
- - timed: ''
-- trigger:
- name: 'compass-os-odl-sfc-ha-baremetal-centos-master-trigger'
- triggers:
- - timed: ''
-- trigger:
- name: 'compass-k8-nosdn-nofeature-ha-baremetal-centos-master-trigger'
- triggers:
- - timed: '0 6 * * *'
-- trigger:
- name: 'compass-os-nosdn-bar-ha-baremetal-centos-master-trigger'
- triggers:
- - timed: '' # '0 19 * * *'
-- trigger:
- name: 'compass-k8-nosdn-stor4nfv-ha-baremetal-centos-master-trigger'
- triggers:
- - timed: ''
-- trigger:
- name: 'compass-os-nosdn-stor4nfv-ha-baremetal-centos-master-trigger'
- triggers:
- - timed: ''
-
-# ----------------------------
-# noha-baremetal-centos-master
-# ----------------------------
-- trigger:
- name: 'compass-os-nosdn-nofeature-noha-baremetal-centos-master-trigger'
- triggers:
- - timed: ''
-- trigger:
- name: 'compass-os-odl_l3-nofeature-noha-baremetal-centos-master-trigger'
- triggers:
- - timed: ''
-- trigger:
- name: 'compass-os-odl_l2-moon-noha-baremetal-centos-master-trigger'
- triggers:
- - timed: ''
-- trigger:
- name: 'compass-os-nosdn-kvm-noha-baremetal-centos-master-trigger'
- triggers:
- - timed: ''
-- trigger:
- name: 'compass-os-odl-sfc-noha-baremetal-centos-master-trigger'
- triggers:
- - timed: ''
-- trigger:
- name: 'compass-os-nosdn-ovs_dpdk-noha-baremetal-centos-master-trigger'
- triggers:
- - timed: ''
-- trigger:
- name: 'compass-os-nosdn-bar-noha-baremetal-centos-master-trigger'
- triggers:
- - timed: '' # '0 19 * * *'
-- trigger:
- name: 'compass-k8-nosdn-stor4nfv-noha-baremetal-centos-master-trigger'
- triggers:
- - timed: ''
-
-
-# --------------------------
-# ha-huawei-pod7-danube
-# --------------------------
-- trigger:
- name: 'compass-os-nosdn-nofeature-ha-huawei-pod7-danube-trigger'
- triggers:
- - timed: '' # '0 19 * * *'
-- trigger:
- name: 'compass-os-nosdn-openo-ha-huawei-pod7-danube-trigger'
- triggers:
- - timed: ''
-- trigger:
- name: 'compass-os-odl_l3-nofeature-ha-huawei-pod7-danube-trigger'
- triggers:
- - timed: '' # '0 15 * * *'
-- trigger:
- name: 'compass-os-onos-nofeature-ha-huawei-pod7-danube-trigger'
- triggers:
- - timed: ''
-- trigger:
- name: 'compass-os-ocl-nofeature-ha-huawei-pod7-danube-trigger'
- triggers:
- - timed: ''
-- trigger:
- name: 'compass-os-onos-sfc-ha-huawei-pod7-danube-trigger'
- triggers:
- - timed: ''
-- trigger:
- name: 'compass-os-odl_l2-moon-ha-huawei-pod7-danube-trigger'
- triggers:
- - timed: ''
-- trigger:
- name: 'compass-os-nosdn-kvm-ha-huawei-pod7-danube-trigger'
- triggers:
- - timed: ''
-- trigger:
- name: 'compass-os-nosdn-ovs_dpdk-ha-huawei-pod7-danube-trigger'
- triggers:
- - timed: ''
-- trigger:
- name: 'compass-os-odl-sfc-ha-huawei-pod7-danube-trigger'
- triggers:
- - timed: ''
-- trigger:
- name: 'compass-k8-nosdn-nofeature-ha-huawei-pod7-danube-trigger'
- triggers:
- - timed: ''
-- trigger:
- name: 'compass-os-nosdn-bar-ha-huawei-pod7-danube-trigger'
- triggers:
- - timed: '' # '0 19 * * *'
-- trigger:
- name: 'compass-k8-nosdn-stor4nfv-ha-huawei-pod7-danube-trigger'
- triggers:
- - timed: ''
-- trigger:
- name: 'compass-os-nosdn-stor4nfv-ha-huawei-pod7-danube-trigger'
- triggers:
- - timed: ''
-
-# ----------------------------
-# noha-huawei-pod7-danube
-# ----------------------------
-- trigger:
- name: 'compass-os-nosdn-nofeature-noha-huawei-pod7-danube-trigger'
- triggers:
- - timed: ''
-- trigger:
- name: 'compass-os-odl_l3-nofeature-noha-huawei-pod7-danube-trigger'
- triggers:
- - timed: ''
-- trigger:
- name: 'compass-os-odl_l2-moon-noha-huawei-pod7-danube-trigger'
- triggers:
- - timed: ''
-- trigger:
- name: 'compass-os-nosdn-kvm-noha-huawei-pod7-danube-trigger'
- triggers:
- - timed: ''
-- trigger:
- name: 'compass-os-odl-sfc-noha-huawei-pod7-danube-trigger'
- triggers:
- - timed: ''
-- trigger:
- name: 'compass-os-nosdn-ovs_dpdk-noha-huawei-pod7-danube-trigger'
- triggers:
- - timed: ''
-- trigger:
- name: 'compass-os-nosdn-bar-noha-huawei-pod7-danube-trigger'
- triggers:
- - timed: '' # '0 19 * * *'
-- trigger:
- name: 'compass-k8-nosdn-stor4nfv-noha-huawei-pod7-danube-trigger'
- triggers:
- - timed: ''
-
-# -------------------
-# ha-baremetal-master
-# -------------------
-- trigger:
- name: 'compass-os-nosdn-nofeature-ha-baremetal-master-trigger'
- triggers:
- - timed: '0 20 2-30/2 * *'
-- trigger:
- name: 'compass-os-nosdn-openo-ha-baremetal-master-trigger'
- triggers:
- - timed: ''
-- trigger:
- name: 'compass-os-odl_l3-nofeature-ha-baremetal-master-trigger'
- triggers:
- - timed: '0 18 1-29/2 * *'
-- trigger:
- name: 'compass-os-onos-nofeature-ha-baremetal-master-trigger'
- triggers:
- - timed: ''
-- trigger:
- name: 'compass-os-ocl-nofeature-ha-baremetal-master-trigger'
- triggers:
- - timed: ''
-- trigger:
- name: 'compass-os-onos-sfc-ha-baremetal-master-trigger'
- triggers:
- - timed: ''
-- trigger:
- name: 'compass-os-odl_l2-moon-ha-baremetal-master-trigger'
- triggers:
- - timed: '' # '0 12 2-30/2 * *'
-- trigger:
- name: 'compass-os-nosdn-kvm-ha-baremetal-master-trigger'
- triggers:
- - timed: '0 14 1-29/2 * *'
-- trigger:
- name: 'compass-os-nosdn-ovs_dpdk-ha-baremetal-master-trigger'
- triggers:
- - timed: '0 16 2-30/2 * *'
-- trigger:
- name: 'compass-k8-nosdn-nofeature-ha-baremetal-master-trigger'
- triggers:
- - timed: '0 10 2-30/2 * *'
-- trigger:
- name: 'compass-os-odl-sfc-ha-baremetal-master-trigger'
- triggers:
- - timed: '0 10 1-29/2 * *'
-- trigger:
- name: 'compass-os-nosdn-bar-ha-baremetal-master-trigger'
- triggers:
- - timed: '0 2 2-30/2 * *'
-- trigger:
- name: 'compass-k8-nosdn-stor4nfv-ha-baremetal-master-trigger'
- triggers:
- - timed: '0 16 1-29/2 * *'
-- trigger:
- name: 'compass-os-nosdn-stor4nfv-ha-baremetal-master-trigger'
- triggers:
- - timed: '0 20 1-29/2 * *'
-
-# ---------------------
-# noha-baremetal-master
-# ---------------------
-- trigger:
- name: 'compass-os-nosdn-kvm-noha-baremetal-master-trigger'
- triggers:
- - timed: ''
-- trigger:
- name: 'compass-os-nosdn-nofeature-noha-baremetal-master-trigger'
- triggers:
- - timed: ''
-- trigger:
- name: 'compass-os-odl_l3-nofeature-noha-baremetal-master-trigger'
- triggers:
- - timed: ''
-- trigger:
- name: 'compass-os-odl_l2-moon-noha-baremetal-master-trigger'
- triggers:
- - timed: ''
-- trigger:
- name: 'compass-os-odl-sfc-noha-baremetal-master-trigger'
- triggers:
- - timed: ''
-- trigger:
- name: 'compass-os-nosdn-ovs_dpdk-noha-baremetal-master-trigger'
- triggers:
- - timed: ''
-- trigger:
- name: 'compass-os-nosdn-bar-noha-baremetal-master-trigger'
- triggers:
- - timed: ''
-- trigger:
- name: 'compass-k8-nosdn-stor4nfv-noha-baremetal-master-trigger'
- triggers:
- - timed: ''
-
-# -------------------
-# ha-baremetal-gambia
-# -------------------
-- trigger:
- name: 'compass-os-nosdn-nofeature-ha-baremetal-gambia-trigger'
- triggers:
- - timed: '0 1 1-29/2 * *'
-- trigger:
- name: 'compass-os-nosdn-openo-ha-baremetal-gambia-trigger'
- triggers:
- - timed: ''
-- trigger:
- name: 'compass-os-odl_l3-nofeature-ha-baremetal-gambia-trigger'
- triggers:
- - timed: '0 21 2-30/2 * *'
-- trigger:
- name: 'compass-os-onos-nofeature-ha-baremetal-gambia-trigger'
- triggers:
- - timed: ''
-- trigger:
- name: 'compass-os-ocl-nofeature-ha-baremetal-gambia-trigger'
- triggers:
- - timed: ''
-- trigger:
- name: 'compass-os-onos-sfc-ha-baremetal-gambia-trigger'
- triggers:
- - timed: ''
-- trigger:
- name: 'compass-os-odl_l2-moon-ha-baremetal-gambia-trigger'
- triggers:
- - timed: '' # '0 5 1-29/2 * *'
-- trigger:
- name: 'compass-os-nosdn-kvm-ha-baremetal-gambia-trigger'
- triggers:
- - timed: '0 13 2-30/2 * *'
-- trigger:
- name: 'compass-os-nosdn-ovs_dpdk-ha-baremetal-gambia-trigger'
- triggers:
- - timed: '0 9 1-29/2 * *'
-- trigger:
- name: 'compass-k8-nosdn-nofeature-ha-baremetal-gambia-trigger'
- triggers:
- - timed: '0 5 1-29/2 * *'
-- trigger:
- name: 'compass-os-odl-sfc-ha-baremetal-gambia-trigger'
- triggers:
- - timed: '0 17 2-30/2 * *'
-- trigger:
- name: 'compass-os-nosdn-bar-ha-baremetal-gambia-trigger'
- triggers:
- - timed: '0 21 1-29/2 * *'
-- trigger:
- name: 'compass-k8-nosdn-stor4nfv-ha-baremetal-gambia-trigger'
- triggers:
- - timed: '0 7 2-30/2 * *'
-- trigger:
- name: 'compass-os-nosdn-stor4nfv-ha-baremetal-gambia-trigger'
- triggers:
- - timed: ''
-
-# ---------------------
-# noha-baremetal-gambia
-# ---------------------
-- trigger:
- name: 'compass-os-nosdn-kvm-noha-baremetal-gambia-trigger'
- triggers:
- - timed: ''
-- trigger:
- name: 'compass-os-nosdn-nofeature-noha-baremetal-gambia-trigger'
- triggers:
- - timed: ''
-- trigger:
- name: 'compass-os-odl_l3-nofeature-noha-baremetal-gambia-trigger'
- triggers:
- - timed: ''
-- trigger:
- name: 'compass-os-odl_l2-moon-noha-baremetal-gambia-trigger'
- triggers:
- - timed: ''
-- trigger:
- name: 'compass-os-odl-sfc-noha-baremetal-gambia-trigger'
- triggers:
- - timed: ''
-- trigger:
- name: 'compass-os-nosdn-ovs_dpdk-noha-baremetal-gambia-trigger'
- triggers:
- - timed: ''
-- trigger:
- name: 'compass-os-nosdn-bar-noha-baremetal-gambia-trigger'
- triggers:
- - timed: ''
-- trigger:
- name: 'compass-k8-nosdn-stor4nfv-noha-baremetal-gambia-trigger'
- triggers:
- - timed: ''
-
-# -----------------
-# ha-virtual-master
-# -----------------
-- trigger:
- name: 'compass-os-nosdn-nofeature-ha-virtual-master-trigger'
- triggers:
- - timed: '0 21 * * *'
-- trigger:
- name: 'compass-os-nosdn-openo-ha-virtual-master-trigger'
- triggers:
- - timed: ''
-- trigger:
- name: 'compass-os-odl_l3-nofeature-ha-virtual-master-trigger'
- triggers:
- - timed: '0 19 2-30/2 * *'
-- trigger:
- name: 'compass-os-onos-nofeature-ha-virtual-master-trigger'
- triggers:
- - timed: ''
-- trigger:
- name: 'compass-os-ocl-nofeature-ha-virtual-master-trigger'
- triggers:
- - timed: ''
-- trigger:
- name: 'compass-os-onos-sfc-ha-virtual-master-trigger'
- triggers:
- - timed: ''
-- trigger:
- name: 'compass-os-odl_l2-moon-ha-virtual-master-trigger'
- triggers:
- - timed: '' # '30 12 1-29/2 * *'
-- trigger:
- name: 'compass-os-nosdn-kvm-ha-virtual-master-trigger'
- triggers:
- - timed: '0 13 1-29/2 * *'
-- trigger:
- name: 'compass-os-nosdn-ovs_dpdk-ha-virtual-master-trigger'
- triggers:
- - timed: '0 17 2-30/2 * *'
-- trigger:
- name: 'compass-k8-nosdn-nofeature-ha-virtual-master-trigger'
- triggers:
- - timed: '5 2 * * *'
-- trigger:
- name: 'compass-os-odl-sfc-ha-virtual-master-trigger'
- triggers:
- - timed: '0 16 2-30/2 * *'
-- trigger:
- name: 'compass-os-nosdn-bar-ha-virtual-master-trigger'
- triggers:
- - timed: '0 17 1-29/2 * *'
-- trigger:
- name: 'compass-k8-nosdn-stor4nfv-ha-virtual-master-trigger'
- triggers:
- - timed: '0 15 2-30/2 * *'
-- trigger:
- name: 'compass-os-nosdn-stor4nfv-ha-virtual-master-trigger'
- triggers:
- - timed: '0 19 2-30/2 * *'
-
-# -------------------
-# noha-virtual-master
-# -------------------
-- trigger:
- name: 'compass-os-nosdn-kvm-noha-virtual-master-trigger'
- triggers:
- - timed: '30 13 1-29/2 * *'
-- trigger:
- name: 'compass-os-nosdn-nofeature-noha-virtual-master-trigger'
- triggers:
- - timed: '0 14 2-30/2 * *'
-- trigger:
- name: 'compass-os-odl_l3-nofeature-noha-virtual-master-trigger'
- triggers:
- - timed: '0 15 1-29/2 * *'
-- trigger:
- name: 'compass-os-odl_l2-moon-noha-virtual-master-trigger'
- triggers:
- - timed: '' # '0 18 2-30/2 * *'
-- trigger:
- name: 'compass-os-odl-sfc-noha-virtual-master-trigger'
- triggers:
- - timed: '0 20 1-29/2 * *'
-- trigger:
- name: 'compass-os-nosdn-ovs_dpdk-noha-virtual-master-trigger'
- triggers:
- - timed: '0 11 2-30/2 * *'
-- trigger:
- name: 'compass-os-nosdn-bar-noha-virtual-master-trigger'
- triggers:
- - timed: '0 22 1-29/2 * *'
-- trigger:
- name: 'compass-k8-nosdn-stor4nfv-noha-virtual-master-trigger'
- triggers:
- - timed: '0 10 2-30/2 * *'
-
-# -----------------
-# ha-virtual-gambia
-# -----------------
-- trigger:
- name: 'compass-os-nosdn-nofeature-ha-virtual-gambia-trigger'
- triggers:
- - timed: '0 23 1-29/2 * *'
-- trigger:
- name: 'compass-os-nosdn-openo-ha-virtual-gambia-trigger'
- triggers:
- - timed: ''
-- trigger:
- name: 'compass-os-odl_l3-nofeature-ha-virtual-gambia-trigger'
- triggers:
- - timed: '0 22 2-30/2 * *'
-- trigger:
- name: 'compass-os-onos-nofeature-ha-virtual-gambia-trigger'
- triggers:
- - timed: ''
-- trigger:
- name: 'compass-os-ocl-nofeature-ha-virtual-gambia-trigger'
- triggers:
- - timed: ''
-- trigger:
- name: 'compass-os-onos-sfc-ha-virtual-gambia-trigger'
- triggers:
- - timed: ''
-- trigger:
- name: 'compass-os-odl_l2-moon-ha-virtual-gambia-trigger'
- triggers:
- - timed: '0 20 1-29/2 * *'
-- trigger:
- name: 'compass-os-nosdn-kvm-ha-virtual-gambia-trigger'
- triggers:
- - timed: '0 16 2-30/2 * *'
-- trigger:
- name: 'compass-os-nosdn-ovs_dpdk-ha-virtual-gambia-trigger'
- triggers:
- - timed: '0 14 1-29/2 * *'
-- trigger:
- name: 'compass-os-odl-sfc-ha-virtual-gambia-trigger'
- triggers:
- - timed: '0 18 2-30/2 * *'
-- trigger:
- name: 'compass-k8-nosdn-nofeature-ha-virtual-gambia-trigger'
- triggers:
- - timed: '5 1 2-30/2 * *'
-- trigger:
- name: 'compass-os-nosdn-bar-ha-virtual-gambia-trigger'
- triggers:
- - timed: '0 19 1-29/2 * *'
-- trigger:
- name: 'compass-k8-nosdn-stor4nfv-ha-virtual-gambia-trigger'
- triggers:
- - timed: '0 15 1-29/2 * *'
-- trigger:
- name: 'compass-os-nosdn-stor4nfv-ha-virtual-gambia-trigger'
- triggers:
- - timed: ''
-
-# -------------------
-# noha-virtual-gambia
-# -------------------
-- trigger:
- name: 'compass-os-nosdn-kvm-noha-virtual-gambia-trigger'
- triggers:
- - timed: '0 15 1-29/2 * *'
-- trigger:
- name: 'compass-os-nosdn-nofeature-noha-virtual-gambia-trigger'
- triggers:
- - timed: '0 17 2-30/2 * *'
-- trigger:
- name: 'compass-os-odl_l3-nofeature-noha-virtual-gambia-trigger'
- triggers:
- - timed: '0 23 1-29/2 * *'
-- trigger:
- name: 'compass-os-odl_l2-moon-noha-virtual-gambia-trigger'
- triggers:
- - timed: '0 21 2-30/2 * *'
-- trigger:
- name: 'compass-os-odl-sfc-noha-virtual-gambia-trigger'
- triggers:
- - timed: '0 19 1-29/2 * *'
-- trigger:
- name: 'compass-os-nosdn-ovs_dpdk-noha-virtual-gambia-trigger'
- triggers:
- - timed: '0 12 2-30/2 * *'
-- trigger:
- name: 'compass-os-nosdn-bar-noha-virtual-gambia-trigger'
- triggers:
- - timed: '0 12 1-29/2 * *'
-- trigger:
- name: 'compass-k8-nosdn-stor4nfv-noha-virtual-gambia-trigger'
- triggers:
- - timed: '0 13 2-30/2 * *'
+++ /dev/null
-#!/bin/bash
-set -x
-
-# log info to console
-echo "Starting the deployment on baremetal environment using $INSTALLER_TYPE. This could take some time..."
-echo "--------------------------------------------------------"
-echo
-
-echo 1 > /proc/sys/vm/drop_caches
-
-export CONFDIR=$WORKSPACE/deploy/conf
-if [[ "$BRANCH" = 'stable/danube' ]]; then
- # source the properties file so we get OPNFV vars
- source $BUILD_DIRECTORY/latest.properties
- # echo the info about artifact that is used during the deployment
- echo "Using ${OPNFV_ARTIFACT_URL/*\/} for deployment"
-
- if [[ ! "$JOB_NAME" =~ (verify|merge) ]]; then
- # for none-merge deployments
- # checkout the commit that was used for building the downloaded artifact
- # to make sure the ISO and deployment mechanism uses same versions
- echo "Checking out $OPNFV_GIT_SHA1"
- git checkout $OPNFV_GIT_SHA1 --quiet
- fi
-
- export ISO_URL=file://$BUILD_DIRECTORY/compass.iso
-else
- export ISO_URL=file://$BUILD_DIRECTORY/compass.tar.gz
-fi
-
-cd $WORKSPACE
-
-export OS_VERSION=${COMPASS_OS_VERSION}
-export OPENSTACK_VERSION=${COMPASS_OPENSTACK_VERSION}
-
-if [[ "${DEPLOY_SCENARIO}" =~ "-ocl" ]]; then
- export NETWORK_CONF_FILE=network_ocl.yml
-elif [[ "${DEPLOY_SCENARIO}" =~ "-odl" ]]; then
- export NETWORK_CONF_FILE=network_odl.yml
-elif [[ "${DEPLOY_SCENARIO}" =~ "-onos" ]]; then
- export NETWORK_CONF_FILE=network_onos.yml
-elif [[ "${DEPLOY_SCENARIO}" =~ "-openo" ]]; then
- export NETWORK_CONF_FILE=network_openo.yml
-elif [[ "${DEPLOY_SCENARIO}" =~ "-ovs_dpdk" ]]; then
- export NETWORK_CONF_FILE=network_dpdk.yml
-else
- export NETWORK_CONF_FILE=network.yml
-fi
-
-if [[ "$NODE_NAME" =~ "-virtual" ]]; then
- export NETWORK_CONF=$CONFDIR/vm_environment/$NODE_NAME/${NETWORK_CONF_FILE}
- export DHA_CONF=$CONFDIR/vm_environment/${DEPLOY_SCENARIO}.yml
- if [[ "${DEPLOY_SCENARIO}" =~ "-moon-noha" ]]; then
- export VIRT_NUMBER=3
- elif [[ "${DEPLOY_SCENARIO}" =~ "-noha" ]]; then
- export VIRT_NUMBER=2
- fi
-else
- if [[ "$NODE_NAME" =~ "intel-pod17" ]]; then
- export INSTALL_NIC=eno2
- else
- export INSTALL_NIC=eth1
- fi
- export NETWORK_CONF=$CONFDIR/hardware_environment/$NODE_NAME/${NETWORK_CONF_FILE}
- export DHA_CONF=$CONFDIR/hardware_environment/$NODE_NAME/${DEPLOY_SCENARIO}.yml
-fi
-
-export DHA=${DHA_CONF}
-export NETWORK=${NETWORK_CONF}
-
-source ./ci/deploy_ci.sh
-
-if [ $? -ne 0 ]; then
- echo "depolyment failed!"
- deploy_ret=1
-fi
-
-echo
-echo "--------------------------------------------------------"
-echo "Done!"
-
-exit $deploy_ret
+++ /dev/null
----
-- project:
-
- name: 'compass-dovetail-jobs'
- installer: 'compass'
- project: 'compass4nfv'
- # ---------------------------------
- # BRANCH ANCHORS
- # ---------------------------------
- danube: &danube
- stream: danube
- branch: 'stable/{stream}'
- gs-pathname: '/{stream}'
- disabled: false
- dovetail-branch: master
- # -----------------------------------
- # POD, INSTALLER, AND BRANCH MAPPING
- # -----------------------------------
- # CI PODs
- # -----------------------------------
- pod:
- - baremetal:
- slave-label: compass-baremetal-branch
- os-version: 'xenial'
- <<: *danube
- # ----------------------------------
- # scenarios
- # ----------------------------------
- scenario:
- - 'os-nosdn-nofeature-ha':
- disabled: true
- auto-trigger-name: 'compass-{scenario}-{pod}-weekly-{stream}-trigger'
-
- jobs:
- - 'compass-{scenario}-{pod}-weekly-{stream}'
- - 'compass-deploy-{pod}-weekly-{stream}'
-
-########################
-# job templates
-########################
-- job-template:
- name: 'compass-{scenario}-{pod}-weekly-{stream}'
-
- disabled: '{obj:disabled}'
-
- concurrent: false
-
- properties:
- - build-blocker:
- use-build-blocker: true
- blocking-jobs:
- - 'compass-os-.*?-{pod}-daily-.*?'
- - 'compass-os-.*?-{pod}-weekly-.*?'
- blocking-level: 'NODE'
-
- wrappers:
- - build-name:
- name: '$BUILD_NUMBER - Scenario: $DEPLOY_SCENARIO'
- - fix-workspace-permissions
-
- triggers:
- - '{auto-trigger-name}'
-
- parameters:
- - project-parameter:
- project: '{project}'
- branch: '{branch}'
- - compass-dovetail-parameter:
- installer: '{installer}'
- gs-pathname: '{gs-pathname}'
- - string:
- name: DEPLOY_SCENARIO
- default: '{scenario}'
- - '{slave-label}-defaults'
- - '{installer}-defaults'
-
- builders:
- - description-setter:
- description: "POD: $NODE_NAME"
- - trigger-builds:
- - project: 'compass-deploy-{pod}-weekly-{stream}'
- current-parameters: false
- predefined-parameters: |
- DEPLOY_SCENARIO={scenario}
- COMPASS_OS_VERSION={os-version}
- same-node: true
- block: true
- - trigger-builds:
- - project: 'dovetail-compass-{pod}-compliance_set-weekly-{stream}'
- current-parameters: false
- predefined-parameters:
- DEPLOY_SCENARIO={scenario}
- block: true
- same-node: true
- block-thresholds:
- build-step-failure-threshold: 'never'
- failure-threshold: 'never'
- unstable-threshold: 'FAILURE'
- - trigger-builds:
- - project: 'dovetail-compass-{pod}-proposed_tests-weekly-{stream}'
- current-parameters: false
- predefined-parameters:
- DEPLOY_SCENARIO={scenario}
- block: true
- same-node: true
- block-thresholds:
- build-step-failure-threshold: 'never'
- failure-threshold: 'never'
- unstable-threshold: 'FAILURE'
-
-- job-template:
- name: 'compass-deploy-{pod}-weekly-{stream}'
-
- disabled: false
-
- concurrent: true
-
- properties:
- - logrotate-default
- - throttle:
- enabled: true
- max-total: 4
- max-per-node: 1
- option: 'project'
- - build-blocker:
- use-build-blocker: true
- blocking-jobs:
- - 'compass-deploy-{pod}-daily-.*?'
- - 'compass-deploy-{pod}-weekly-.*'
- - 'compass-verify-deploy-.*?'
- blocking-level: 'NODE'
-
- wrappers:
- - build-name:
- name: '$BUILD_NUMBER - Scenario: $DEPLOY_SCENARIO'
- - timeout:
- timeout: 240
- abort: true
- - fix-workspace-permissions
-
- parameters:
- - project-parameter:
- project: '{project}'
- branch: '{branch}'
- - compass-dovetail-parameter:
- installer: '{installer}'
- gs-pathname: '{gs-pathname}'
- - '{slave-label}-defaults'
- - '{installer}-defaults'
-
- scm:
- - git-scm
-
- builders:
- - description-setter:
- description: "POD: $NODE_NAME"
- - shell:
- !include-raw-escape: ./compass-download-artifact.sh
- - shell:
- !include-raw-escape: ./compass-deploy.sh
-
-########################
-# parameter macros
-########################
-- parameter:
- name: compass-dovetail-parameter
- parameters:
- - string:
- name: BUILD_DIRECTORY
- default: $WORKSPACE/build_output
- description: "Directory where the build artifact will be located upon the completion of the build."
- - string:
- name: GS_URL
- default: '$GS_BASE{gs-pathname}'
- description: "URL to Google Storage."
- - choice:
- name: COMPASS_OPENSTACK_VERSION
- choices:
- - 'newton'
-
-########################
-# trigger macros
-########################
-- trigger:
- name: 'compass-os-nosdn-nofeature-ha-baremetal-weekly-danube-trigger'
- triggers:
- - timed: '' # 'H H * * 0'
-
-- trigger:
- name: 'dovetail-weekly-trigger'
- triggers:
- - timed: '' # 'H H * * 0'
+++ /dev/null
-#!/bin/bash
-set -o errexit
-set -o nounset
-set -o pipefail
-
-# log info to console
-echo "Downloading the $INSTALLER_TYPE artifact. This could take some time..."
-echo "--------------------------------------------------------"
-echo
-
-# get the latest.properties file in order to get info regarding latest artifact
-[[ -d $BUILD_DIRECTORY ]] || mkdir -p $BUILD_DIRECTORY
-curl -s -o $BUILD_DIRECTORY/latest.properties http://$GS_URL/latest.properties
-
-# check if we got the file
-[[ -f $BUILD_DIRECTORY/latest.properties ]] || exit 1
-
-# source the file so we get OPNFV vars
-source $BUILD_DIRECTORY/latest.properties
-
-if [[ "$BRANCH" == 'stable/danube' ]]; then
- # download the file
- curl -s -o $BUILD_DIRECTORY/compass.iso http://$OPNFV_ARTIFACT_URL > gsutil.iso.log 2>&1
- # list the file
- ls -al $BUILD_DIRECTORY/compass.iso
-else
- # download the file
- curl -s -o $BUILD_DIRECTORY/compass.tar.gz http://$OPNFV_ARTIFACT_URL > gsutil.tar.gz.log 2>&1
- # list the file
- ls -al $BUILD_DIRECTORY/compass.tar.gz
-fi
-
-echo
-echo "--------------------------------------------------------"
-echo "Done!"
+++ /dev/null
-#!/bin/bash
-set -o nounset
-set -o pipefail
-
-# log info to console
-echo "Uploading the logs $INSTALLER_TYPE artifact. This could take some time..."
-echo "--------------------------------------------------------"
-echo
-
-# create the log directory if it doesn't exist
-[[ -d $LOG_DIRECTORY ]] || mkdir -p $LOG_DIRECTORY
-
-OPNFV_ARTIFACT_VERSION=$(date -u +"%Y-%m-%d_%H-%M-%S")
-COMPASS_LOG_FILENAME="${JOB_NAME}_${BUILD_NUMBER}_${OPNFV_ARTIFACT_VERSION}.log.tar.gz"
-
-
-sudo docker exec compass-tasks /bin/bash /opt/collect-log.sh
-sudo docker cp compass-tasks:/opt/log.tar.gz ${LOG_DIRECTORY}/${COMPASS_LOG_FILENAME}
-
-sudo chown $(whoami):$(whoami) ${LOG_DIRECTORY}/${COMPASS_LOG_FILENAME}
-
-gsutil cp "${LOG_DIRECTORY}/${COMPASS_LOG_FILENAME}" \
- "gs://${GS_URL}/logs/${COMPASS_LOG_FILENAME}" > /dev/null 2>&1
-
-echo
-echo "--------------------------------------------------------"
-echo "Done!"
-echo "Artifact is available as http://${GS_URL}/logs/${COMPASS_LOG_FILENAME}"
+++ /dev/null
-#!/bin/bash
-set -x
-set -o errexit
-set -o nounset
-set -o pipefail
-# make ppa
-cd $WORKSPACE/
-./build/make_repo.sh
-# calc SHA512 of ppa
-cd $PPA_CACHE
-for i in $(find *.gz *.iso *.img -type f)
-do
- sha512sum=$(sha512sum $i | cut -d ' ' -f1)
- echo $sha512sum > $i.sha512
- curl -T $i $PPA_REPO
- curl -T $i.sha512 $PPA_REPO
-done
+++ /dev/null
----
-- project:
-
- name: compass-project
-
- installer: 'compass'
-
- project: 'compass4nfv'
-
- slave-label: 'compass-virtual'
-
- stream:
- - master:
- branch: '{stream}'
- gs-pathname: ''
- ppa-pathname: '/{stream}'
- disabled: false
- - danube:
- branch: 'stable/{stream}'
- gs-pathname: '/{stream}'
- ppa-pathname: '/{stream}'
- disabled: false
- - gambia:
- branch: 'stable/{stream}'
- gs-pathname: '/{stream}'
- ppa-pathname: '/{stream}'
- disabled: false
-
- jobs:
- - '{installer}-build-daily-{stream}'
- - 'compass-build-ppa-{stream}'
-
-########################
-# job templates
-########################
-- job-template:
- name: '{installer}-build-daily-{stream}'
-
- disabled: '{obj:disabled}'
-
- concurrent: true
-
- properties:
- - logrotate-default
- - throttle:
- enabled: true
- max-total: 1
- max-per-node: 1
- option: 'project'
-
- parameters:
- - project-parameter:
- project: '{project}'
- branch: '{branch}'
- - compass-project-parameter:
- installer: '{installer}'
- gs-pathname: '{gs-pathname}'
- ppa-pathname: '{ppa-pathname}'
- - 'opnfv-build-ubuntu-defaults'
- - '{installer}-defaults'
-
- scm:
- - git-scm
-
- triggers:
- - timed: 'H 8 * * *'
-
- builders:
- - shell:
- !include-raw-escape: ./compass-build.sh
- - shell:
- !include-raw-escape: ./compass-upload-artifact.sh
- - 'clean-workspace'
-
-- job-template:
- name: 'compass-build-ppa-{stream}'
-
- description: "build ppa(using docker) in huawei lab"
-
- disabled: '{obj:disabled}'
-
- node: huawei-build
-
- concurrent: true
-
- properties:
- - logrotate-default
- - throttle:
- enabled: true
- max-total: 1
- max-per-node: 1
- option: 'project'
-
- parameters:
- - project-parameter:
- project: '{project}'
- branch: '{branch}'
- - compass-project-parameter:
- installer: '{installer}'
- gs-pathname: '{gs-pathname}'
- ppa-pathname: '{ppa-pathname}'
- - '{node}-defaults'
- - '{installer}-defaults'
- scm:
- - git-scm
-
- builders:
- - shell:
- !include-raw-escape: ./compass-makeppa.sh
-
-
-########################
-# parameter macros
-########################
-- parameter:
- name: compass-project-parameter
- parameters:
- - string:
- name: BUILD_DIRECTORY
- default: $WORKSPACE/build_output
- description: "Directory where the build artifact will be located upon the completion of the build."
- - string:
- name: CACHE_DIRECTORY
- default: "$HOME/opnfv/cache/$PROJECT{gs-pathname}"
- description: "Directory where the cache to be used during the build is located."
- - string:
- name: GS_URL
- default: '$GS_BASE{gs-pathname}'
- description: "URL to Google Storage."
- - string:
- name: PPA_REPO
- default: "https://artifacts.opnfv.org/compass4nfv/package{ppa-pathname}"
- - string:
- name: PPA_CACHE
- default: "$WORKSPACE/work/repo/"
+++ /dev/null
-#!/bin/bash
-set -o nounset
-set -o pipefail
-
-# log info to console
-echo "Uploading the $INSTALLER_TYPE artifact. This could take some time..."
-echo "--------------------------------------------------------"
-echo
-
-if [[ "$BRANCH" == 'stable/danube' ]]; then
- FILETYPE='iso'
-else
- FILETYPE='tar.gz'
-fi
-# source the opnfv.properties to get ARTIFACT_VERSION
-source $BUILD_DIRECTORY/opnfv.properties
-
-# clone releng repository
-echo "Cloning releng repository..."
-[ -d releng ] && rm -rf releng
-git clone https://gerrit.opnfv.org/gerrit/releng $WORKSPACE/releng/ &> /dev/null
-#this is where we import the siging key
-if [ -f $WORKSPACE/releng/utils/gpg_import_key.sh ]; then
- source $WORKSPACE/releng/utils/gpg_import_key.sh
-fi
-
-signiso () {
-time gpg2 -vvv --batch --yes --no-tty \
- --default-key opnfv-helpdesk@rt.linuxfoundation.org \
- --passphrase besteffort \
- --detach-sig $BUILD_DIRECTORY/compass.$FILETYPE
-
-gsutil cp $BUILD_DIRECTORY/compass.$FILETYPE.sig gs://$GS_URL/opnfv-$OPNFV_ARTIFACT_VERSION.$FILETYPE.sig
-echo "ISO signature Upload Complete!"
-}
-
-signiso
-
-# upload artifact and additional files to google storage
-gsutil cp $BUILD_DIRECTORY/compass.$FILETYPE gs://$GS_URL/opnfv-$OPNFV_ARTIFACT_VERSION.$FILETYPE > gsutil.$FILETYPE.log 2>&1
-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
-
-gsutil -m setmeta \
- -h "Content-Type:text/html" \
- -h "Cache-Control:private, max-age=0, no-transform" \
- gs://$GS_URL/latest.properties \
- gs://$GS_URL/opnfv-$OPNFV_ARTIFACT_VERSION.properties > /dev/null 2>&1
-
-gsutil -m setmeta \
- -h "Cache-Control:private, max-age=0, no-transform" \
- gs://$GS_URL/opnfv-$OPNFV_ARTIFACT_VERSION.$FILETYPE > /dev/null 2>&1
-
-# disabled errexit due to gsutil setmeta complaints
-# BadRequestException: 400 Invalid argument
-# check if we uploaded the file successfully to see if things are fine
-gsutil ls gs://$GS_URL/opnfv-$OPNFV_ARTIFACT_VERSION.$FILETYPE > /dev/null 2>&1
-if [[ $? -ne 0 ]]; then
- echo "Problem while uploading artifact!"
- echo "Check log $WORKSPACE/gsutil.$FILETYPE.log on the machine where this build is done."
- exit 1
-fi
-
-echo
-echo "--------------------------------------------------------"
-echo "Done!"
-echo "Artifact is available as http://$GS_URL/opnfv-$OPNFV_ARTIFACT_VERSION.$FILETYPE"
+++ /dev/null
----
-- project:
- name: 'compass-verify-jobs'
-
- project: 'compass4nfv'
-
- installer: 'compass'
- #####################################
- # branch definitions
- #####################################
- stream:
- - master:
- branch: '{stream}'
- gs-pathname: ''
- ppa-pathname: '/{stream}'
- disabled: false
- openstack-version: 'queens'
- branch-type: 'master'
- - gambia:
- branch: 'stable/{stream}'
- gs-pathname: '/{stream}'
- ppa-pathname: '/{stream}'
- disabled: false
- openstack-version: 'queens'
- branch-type: 'master'
-
- distro:
- - 'xenial':
- disabled: false
- os-version: 'xenial'
- openstack-os-version: ''
- - 'centos7':
- disabled: true
- os-version: 'centos7'
- openstack-os-version: ''
- #####################################
- # patch verification phases
- #####################################
- phase:
- - 'basic'
- - 'deploy-virtual'
- #####################################
- # jobs
- #####################################
- jobs:
- - 'compass-verify-{distro}-{stream}'
- - 'compass-verify-k8-{distro}-{stream}'
- - 'compass-verify-{phase}-{distro}-{stream}'
-#####################################
-# job templates
-#####################################
-- job-template:
- name: 'compass-verify-{distro}-{stream}'
-
- project-type: multijob
-
- disabled: '{obj:disabled}'
-
- concurrent: true
-
- properties:
- - logrotate-default
- - throttle:
- enabled: true
- max-total: 4
- max-per-node: 1
- option: 'project'
- - build-blocker:
- use-build-blocker: true
- blocking-jobs:
- - 'compass-verify-[^-]*-[^-]*'
- - 'compass-os-.*?-virtual-daily-.*?'
- - 'compass-k8-.*?-virtual-daily-.*?'
- blocking-level: 'NODE'
-
- wrappers:
- - ssh-agent-wrapper
- - timeout:
- timeout: 360
- fail: true
- - fix-workspace-permissions
-
- scm:
- - git-scm-gerrit
-
- triggers:
- - gerrit:
- server-name: 'gerrit.opnfv.org'
- 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: '{project}'
- branches:
- - branch-compare-type: 'ANT'
- branch-pattern: '**/{branch}'
- file-paths:
- - compare-type: ANT
- pattern: '**/*'
- disable-strict-forbidden-file-verification: 'true'
- forbidden-file-paths:
- - compare-type: ANT
- pattern: 'docs/**'
- readable-message: true
-
- parameters:
- - project-parameter:
- project: '{project}'
- branch: '{branch}'
- - 'compass-virtual-{branch-type}-defaults'
- - '{installer}-defaults'
- - 'compass-verify-defaults':
- installer: '{installer}'
- gs-pathname: '{gs-pathname}'
- ppa-pathname: '{ppa-pathname}'
- - string:
- name: DEPLOY_SCENARIO
- default: 'os-nosdn-nofeature-ha'
-
- builders:
- - description-setter:
- description: "Built on $NODE_NAME"
- - multijob:
- name: basic
- condition: SUCCESSFUL
- projects:
- - name: 'opnfv-lint-verify-{stream}'
- current-parameters: true
- node-parameters: true
- kill-phase-on: FAILURE
- abort-all-job: true
- - multijob:
- name: deploy-virtual
- condition: SUCCESSFUL
- projects:
- - name: 'compass-verify-deploy-virtual-{distro}-{stream}'
- current-parameters: true
- predefined-parameters: |
- COMPASS_OS_VERSION={os-version}
- COMPASS_OPENSTACK_VERSION={openstack-version}
- node-parameters: true
- kill-phase-on: FAILURE
- abort-all-job: true
- - multijob:
- name: smoke-test
- condition: SUCCESSFUL
- projects:
- - name: 'functest-compass-virtual-suite-{stream}'
- current-parameters: false
- predefined-parameters: |
- FUNCTEST_MODE=tier
- FUNCTEST_TIER=healthcheck
- DEPLOY_SCENARIO=os-nosdn-nofeature-ha
- node-parameters: true
- kill-phase-on: NEVER
- abort-all-job: true
-
-- job-template:
- name: 'compass-verify-k8-{distro}-{stream}'
-
- project-type: multijob
-
- disabled: '{obj:disabled}'
-
- concurrent: true
-
- properties:
- - logrotate-default
- - throttle:
- enabled: true
- max-total: 4
- max-per-node: 1
- option: 'project'
- - build-blocker:
- use-build-blocker: true
- blocking-jobs:
- - 'compass-verify-[^-]*-[^-]*'
- - 'compass-os-.*?-virtual-daily-.*?'
- blocking-level: 'NODE'
-
- wrappers:
- - ssh-agent-wrapper
- - timeout:
- timeout: 240
- fail: true
- - fix-workspace-permissions
-
- scm:
- - git-scm-gerrit
-
- triggers:
- - gerrit:
- server-name: 'gerrit.opnfv.org'
- trigger-on:
- - comment-added-contains-event:
- comment-contains-value: 'check k8'
- - comment-added-contains-event:
- comment-contains-value: 'verify k8'
- - comment-added-contains-event:
- comment-contains-value: 'check kubernetes'
- - comment-added-contains-event:
- comment-contains-value: 'verify kubernetes'
- projects:
- - project-compare-type: 'ANT'
- project-pattern: '{project}'
- branches:
- - branch-compare-type: 'ANT'
- branch-pattern: '**/{branch}'
- file-paths:
- - compare-type: ANT
- pattern: '**/*'
- forbidden-file-paths:
- - compare-type: ANT
- pattern: 'docs/**'
- readable-message: true
-
- parameters:
- - project-parameter:
- project: '{project}'
- branch: '{branch}'
- - 'compass-virtual-{branch-type}-defaults'
- - '{installer}-defaults'
- - 'compass-verify-defaults':
- installer: '{installer}'
- gs-pathname: '{gs-pathname}'
- ppa-pathname: '{ppa-pathname}'
- - string:
- name: DEPLOY_SCENARIO
- default: 'k8-nosdn-nofeature-ha'
-
- builders:
- - description-setter:
- description: "Built on $NODE_NAME"
- - multijob:
- name: basic
- condition: SUCCESSFUL
- projects:
- - name: 'opnfv-lint-verify-{stream}'
- current-parameters: true
- node-parameters: true
- kill-phase-on: FAILURE
- abort-all-job: true
- - multijob:
- name: deploy-virtual
- condition: SUCCESSFUL
- projects:
- - name: 'compass-verify-deploy-virtual-{distro}-{stream}'
- current-parameters: true
- predefined-parameters: |
- COMPASS_OS_VERSION={os-version}
- node-parameters: true
- kill-phase-on: FAILURE
- abort-all-job: true
-
-- job-template:
- name: 'compass-verify-{phase}-{distro}-{stream}'
-
- disabled: '{obj:disabled}'
-
- concurrent: true
-
- properties:
- - logrotate-default
- - throttle:
- enabled: true
- max-per-node: 1
- option: 'project'
- - build-blocker:
- use-build-blocker: true
- blocking-jobs:
- - 'compass-os-.*?-virtual-daily-.*?'
- - 'compass-verify-deploy-.*'
- - 'functest-compass-virtual.*'
- blocking-level: 'NODE'
-
- wrappers:
- - ssh-agent-wrapper
- - timeout:
- timeout: 360
- fail: true
- - fix-workspace-permissions
-
- scm:
- - git-scm-gerrit
-
- builders:
- - description-setter:
- description: "Built on $NODE_NAME"
- - '{project}-verify-{phase}-macro'
-
-#####################################
-# builder macros
-#####################################
-- builder:
- name: 'compass4nfv-verify-basic-macro'
- builders:
- - shell: |
- #!/bin/bash
-
- echo "Not activated!"
-
-- builder:
- name: 'compass4nfv-verify-deploy-virtual-macro'
- builders:
- - shell:
- !include-raw: ./compass-build.sh
- - shell:
- !include-raw: ./compass-deploy.sh
-#####################################
-# parameter macros
-#####################################
-- parameter:
- name: 'compass-verify-defaults'
- parameters:
- - string:
- name: BUILD_DIRECTORY
- default: $WORKSPACE/build_output
- description: "Directory where the build artifact will be located upon the completion of the build."
- - string:
- name: CACHE_DIRECTORY
- default: "$HOME/opnfv/cache/$PROJECT{gs-pathname}"
- description: "Directory where the cache to be used during the build is located."
- - string:
- name: GS_URL
- default: '$GS_BASE{gs-pathname}'
- description: "URL to Google Storage."
- - string:
- name: PPA_REPO
- default: "https://artifacts.opnfv.org/compass4nfv/package{ppa-pathname}"
- - string:
- name: PPA_CACHE
- default: "$WORKSPACE/work/repo/"
- - choice:
- name: COMPASS_OS_VERSION
- choices:
- - 'xenial'
- - 'centos7'
+++ /dev/null
-#!/bin/bash
-set -o errexit
-set -o nounset
-set -o pipefail
-
-cd $WORKSPACE/..
-sudo rm $WORKSPACE -rf
-git clone $GIT_BASE $WORKSPACE
\ No newline at end of file
+++ /dev/null
----
-- project:
- name: compass4nfv-rtd
- project: compass4nfv
- project-name: compass4nfv
-
- gerrit-skip-vote: true
- project-pattern: 'compass4nfv'
- rtd-build-url: 'https://readthedocs.org/api/v2/webhook/opnfv-compass4nfv/47358/'
- rtd-token: '4208e8492be2e4eab7f18f1e70b5d78247d1b249'
-
- stream:
- - master:
- branch: '{stream}'
- disabled: false
- - gambia:
- branch: 'stable/{stream}'
- disabled: false
-
- jobs:
- - '{project-name}-rtd-jobs'
+++ /dev/null
-#!/bin/bash
-set -e
-
-cd compass4nfv
-
-COMPASS_WORK_DIR=$WORKSPACE/../compass-work
-mkdir -p $COMPASS_WORK_DIR
-ln -s $COMPASS_WORK_DIR work
-
-sudo docker rm -f `docker ps | grep compass | cut -f1 -d' '` || true
-
-curl -s http://people.linaro.org/~yibo.cai/compass/compass4nfv-arm64-fixup.sh | bash || true
-
-./build.sh
+++ /dev/null
-#!/bin/bash
-set -e
-
-cd compass4nfv
-
-export ADAPTER_OS_PATTERN='(?i)CentOS-7.*arm.*'
-export OS_VERSION="centos7"
-export KUBERNETES_VERSION="v1.9.1"
-if [[ "$NODE_NAME" =~ "-virtual" ]]; then
- export DHA="deploy/conf/vm_environment/k8-nosdn-nofeature-noha.yml"
- export NETWORK="deploy/conf/vm_environment/network.yml"
- export VIRT_NUMBER=2 VIRT_CPUS=8 VIRT_MEM=8192 VIRT_DISK=50G
-else
- export DHA="deploy/conf/hardware_environment/huawei-pod8/k8-nosdn-nofeature-noha.yml"
- export NETWORK="deploy/conf/hardware_environment/huawei-pod8/network.yml"
-fi
-
-./deploy.sh
---
-- project:
- name: 'container4nfv-arm64'
- project: 'container4nfv'
- installer: 'compass'
- stream:
- - master:
- branch: master
- - gambia:
- branch: stable/gambia
- scenario:
- - 'k8-multus-nofeature-noha':
- disabled: false
- - 'k8-sriov-nofeature-noha':
- disabled: false
- - 'k8-vpp-nofeature-noha':
- disabled: false
- pod:
- - virtual:
- slave-label: arm-packet01
- - baremetal:
- slave-label: compass-baremetal-arm
- jobs:
- - 'container4nfv-arm-deploy-{pod}-daily-{stream}'
- - 'container4nfv-{scenario}-{pod}-daily-{stream}'
-
-
-- job-template:
- name: 'container4nfv-arm-deploy-{pod}-daily-{stream}'
- disabled: false
- node: '{slave-label}'
-
- wrappers:
- - timeout:
- timeout: 300
- fail: true
-
- scm:
- - git:
- url: https://gerrit.opnfv.org/gerrit/compass4nfv
- branches:
- - '{branch}'
- basedir: compass4nfv
- wipe-workspace: true
-
- triggers:
- - 'trigger-deploy-{pod}-{stream}'
-
- builders:
- - shell:
- !include-raw: arm64/compass-build.sh
- - shell:
- !include-raw: arm64/compass-deploy.sh
- - trigger-builds:
- - project: yardstick-arm64-compass-arm-virtual03-daily-master
- current-parameters: false
- same-node: true
- block: true
- block-thresholds:
- build-step-failure-threshold: 'never'
- failure-threshold: 'never'
- unstable-threshold: 'Failure'
- - project: functest-compass-arm-virtual-daily-master
- current-parameters: false
- predefined-parameters:
- DEPLOY_SCENARIO='k8-nosdn-nofeature-ha'
- same-node: true
- block: true
- block-thresholds:
- build-step-failure-threshold: 'never'
- failure-threshold: 'never'
- unstable-threshold: 'Failure'
- - project: container4nfv-k8-multus-nofeature-noha-{pod}-daily-{stream}
- current-parameters: true
- same-node: true
- block: true
- block-thresholds:
- build-step-failure-threshold: 'never'
- failure-threshold: 'never'
- unstable-threshold: 'Failure'
- - project: container4nfv-k8-sriov-nofeature-noha-{pod}-daily-{stream}
- current-parameters: true
- same-node: true
- block: true
- block-thresholds:
- build-step-failure-threshold: 'never'
- failure-threshold: 'never'
- unstable-threshold: 'Failure'
- - project: container4nfv-k8-vpp-nofeature-noha-{pod}-daily-{stream}
- current-parameters: true
- same-node: true
- block: true
- block-thresholds:
- build-step-failure-threshold: 'never'
- failure-threshold: 'never'
- unstable-threshold: 'never'
-
-
- job-template:
name: 'container4nfv-{scenario}-{pod}-daily-{stream}'
disabled: '{obj:disabled}'
wipe-workspace: true
builders:
- - shell:
- !include-raw: arm64/deploy-cni.sh
+ - shell: !include-raw: arm64/deploy-cni.sh
- trigger:
triggers:
- timed: '0 12 * * *'
- trigger:
- name: 'trigger-deploy-virtual-gambia'
+ name: 'trigger-deploy-virtual-hunter'
triggers:
- timed: '0 18 * * *'
- trigger:
triggers:
- timed: '0 12 * * *'
- trigger:
- name: 'trigger-deploy-baremetal-gambia'
+ name: 'trigger-deploy-baremetal-hunter'
triggers:
- timed: '0 18 * * *'
branch: '{stream}'
gs-pathname: ''
disabled: false
- - gambia:
+ - hunter:
branch: 'stable/{stream}'
gs-pathname: '/{stream}'
disabled: false
- master:
branch: '{stream}'
disabled: false
- - gambia:
+ - hunter:
branch: 'stable/{stream}'
disabled: false
--- /dev/null
+---
+- project:
+ name: container4nfv-view
+ views:
+ - common-view
+ view-name: container4nfv
+ view-regex: (^container.*|^yardstick-arm64.*)
+++ /dev/null
----
-###################################
-# job configuration for yardstick
-###################################
-- project:
- name: yardstick-arm64
-
- project: 'yardstick'
-
- # -------------------------------
- # BRANCH ANCHORS
- # -------------------------------
- master: &master
- stream: master
- branch: '{stream}'
- gs-pathname: ''
- docker-tag: 'latest'
- fraser: &fraser
- stream: fraser
- branch: '{stream}'
- gs-pathname: 'stable/{stream}'
- docker-tag: 'stable'
- # -------------------------------
- # POD, INSTALLER, AND BRANCH MAPPING
- # -------------------------------
- # Installers using labels
- # CI PODs
- # This section should only contain the installers
- # that have been switched using labels for slaves
- # -------------------------------
- pod:
- # apex CI PODs
- - arm-virtual03:
- slave-label: arm-packet01
- installer: compass
- auto-trigger-name: 'daily-trigger-disabled'
- <<: *master
- # -------------------------------
- testsuite:
- - 'daily'
-
- jobs:
- - 'yardstick-arm64-{installer}-{pod}-{testsuite}-{stream}'
-
-################################
-# job templates
-################################
-- job-template:
- name: 'yardstick-arm64-{installer}-{pod}-{testsuite}-{stream}'
- disabled: false
-
- concurrent: true
-
- properties:
- - logrotate-default
- - throttle:
- enabled: true
- max-per-node: 1
- option: 'project'
-
- wrappers:
- - build-name:
- name: '$BUILD_NUMBER - Scenario: $DEPLOY_SCENARIO'
- - timeout:
- timeout: 60
- abort: true
-
- triggers:
- - '{auto-trigger-name}'
-
- parameters:
- - project-parameter:
- project: '{project}'
- branch: '{branch}'
- - '{installer}-defaults'
- - 'yardstick-params-{slave-label}'
- - string:
- name: DEPLOY_SCENARIO
- default: 'k8-nosdn-lb-noha_daily'
- - string:
- name: DOCKER_TAG
- default: '{docker-tag}'
- description: 'Tag to pull docker image'
- - string:
- name: YARDSTICK_SCENARIO_SUITE_NAME
- default: opnfv_${{DEPLOY_SCENARIO}}_{testsuite}.yaml
- description: 'Path to test scenario suite'
- - string:
- name: CI_DEBUG
- default: 'false'
- description: "Show debut output information"
- - string:
- name: GIT_BASE
- default: https://gerrit.opnfv.org/gerrit/$PROJECT
- description: "Used for overriding the GIT URL coming from Global Jenkins configuration."
-
- scm:
- - git-scm
-
- builders:
- - description-setter:
- description: "POD: $NODE_NAME"
- - 'yardstick-arm64'
-
- publishers:
- - email:
- recipients: trevor.tao@arm.com yibo.cai@arm.com
- - email-jenkins-admins-on-failure
-
-########################
-# builder macros
-########################
-- builder:
- name: yardstick-arm64
- builders:
- - shell:
- !include-raw: arm64/yardstick-arm64.sh
-
-########################
-# parameter macros
-########################
-
-
-- parameter:
- name: 'yardstick-params-arm-packet01'
- parameters:
- - string:
- name: YARDSTICK_DB_BACKEND
- default: '-i 104.197.68.199:8086'
- description: 'Arguments to use in order to choose the backend DB'
--- /dev/null
+---
+- project:
+ name: cperf-view
+ views:
+ - project-view
+ project-name: cperf
- master:
branch: '{stream}'
disabled: false
- - gambia:
+ - hunter:
branch: 'stable/{stream}'
disabled: false
branch: '{stream}'
gs-pathname: ''
disabled: false
- - gambia: &gambia
- branch: 'stable/{stream}'
- gs-pathname: '/{stream}'
- disabled: false
- - fraser:
+ - hunter:
branch: 'stable/{stream}'
gs-pathname: '/{stream}'
disabled: false
installer:
- - 'apex':
- scenario: 'os-nosdn-nofeature-noha'
- 'fuel':
scenario: 'os-nosdn-nofeature-noha'
- 'sample'
- 'congress'
- exclude:
- - installer: 'apex'
- arch: 'aarch64'
-
jobs:
- 'doctor-verify-{stream}'
- 'doctor-verify-fault_management-{installer}-{inspector}-{arch}-{stream}'
builders:
- shell: |
- #!/bin/bash
- # we do nothing here as the main stuff will be done
- # in phase jobs
- echo "Triggering phase jobs!"
+ #!/bin/bash
+ # we do nothing here as the main stuff will be done
+ # in phase jobs
+ echo "Triggering phase jobs!"
- multijob:
- name: 'doctor-verify-sample'
+ name: 'doctor-verify-fuel'
execution-type: PARALLEL
projects:
- - name: 'doctor-verify-all-apex-sample-x86_64-{stream}'
- predefined-parameters: |
- PROJECT=$PROJECT
- GERRIT_BRANCH=$GERRIT_BRANCH
- GERRIT_REFSPEC=$GERRIT_REFSPEC
- GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
- GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
- kill-phase-on: FAILURE
- git-revision: true
- name: 'doctor-verify-fault_management-fuel-sample-x86_64-{stream}'
predefined-parameters: |
PROJECT=$PROJECT
GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
kill-phase-on: FAILURE
git-revision: true
- - multijob:
- name: 'doctor-verify-fenix'
- execution-type: PARALLEL
- projects:
- - name: 'doctor-verify-maintenance-apex-sample-x86_64-{stream}'
- predefined-parameters: |
- PROJECT=$PROJECT
- GERRIT_BRANCH=$GERRIT_BRANCH
- GERRIT_REFSPEC=$GERRIT_REFSPEC
- GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
- GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
- kill-phase-on: FAILURE
- git-revision: true
- - multijob:
- name: 'doctor-verify-congress'
- execution-type: PARALLEL
- projects:
- - name: 'doctor-verify-fault_management-apex-congress-x86_64-{stream}'
+ - name: 'doctor-verify-maintenance-fuel-sample-x86_64-{stream}'
predefined-parameters: |
PROJECT=$PROJECT
GERRIT_BRANCH=$GERRIT_BRANCH
- job-template:
name: 'doctor-verify-fault_management-{installer}-{inspector}-{arch}-{stream}'
disabled: '{obj:disabled}'
- node: 'doctor-{installer}-{arch}'
+ node: 'zte-virtual4'
wrappers:
- ssh-agent-wrapper
- build-timeout:
- job-template:
name: 'doctor-verify-maintenance-{installer}-{inspector}-{arch}-{stream}'
disabled: '{obj:disabled}'
- node: 'doctor-{installer}-{arch}'
+ node: 'nokia-pod1'
wrappers:
- ssh-agent-wrapper
- build-timeout:
name: 'doctor-verify-installer-inspector-builders-macro'
builders:
# yamllint disable rule:indentation
- - shell:
- !include-raw:
- - ./doctor-env-presetup.sh
- - ../../utils/fetch_os_creds.sh
+ - shell: !include-raw:
+ - ./doctor-env-presetup.sh
+ - ../../utils/fetch_os_creds.sh
- shell: |
+ #!/bin/bash
+
# prepare the env for test
- source $HOME/opnfv-openrc.sh
+ . $HOME/opnfv-openrc.sh
if [ -f $HOME/os_cacert ]; then
export OS_CACERT=$HOME/os_cacert
fi
- source $HOME/opnfv-installer.sh
+ . $HOME/opnfv-installer.sh
# run tox to trigger the test
# As Jenkins user, it has no permission to send ICMP package
- sudo -E tox -e py34
+ sudo -E tox -e py36
# -------------------------------
gs-pathname: ''
docker-tag: 'latest'
disabled: true
- fraser: &fraser
- stream: fraser
- branch: 'stable/{stream}'
- dovetail-branch: 'stable/{stream}'
- gs-pathname: '/{stream}'
- docker-tag: 'ovp-2.0.0'
- gambia: &gambia
- stream: gambia
+ hunter: &hunter
+ stream: hunter
branch: 'stable/{stream}'
dovetail-branch: 'master'
gs-pathname: '/{stream}'
slave-label: fuel-baremetal
SUT: fuel
auto-trigger-name: 'daily-trigger-disabled'
- <<: *fraser
- - virtual:
- slave-label: fuel-virtual
- SUT: fuel
- auto-trigger-name: 'daily-trigger-disabled'
- <<: *fraser
- - baremetal:
- slave-label: fuel-baremetal
- SUT: fuel
- auto-trigger-name: 'daily-trigger-disabled'
- <<: *gambia
+ <<: *hunter
- virtual:
slave-label: fuel-virtual
SUT: fuel
auto-trigger-name: 'daily-trigger-disabled'
- <<: *gambia
- # compass CI PODs
- - baremetal:
- slave-label: compass-baremetal
- SUT: compass
- auto-trigger-name: 'daily-trigger-disabled'
- <<: *master
- - virtual:
- slave-label: compass-virtual
- SUT: compass
- auto-trigger-name: 'daily-trigger-disabled'
- <<: *master
- - baremetal:
- slave-label: compass-baremetal
- SUT: compass
- auto-trigger-name: 'daily-trigger-disabled'
- <<: *fraser
- - virtual:
- slave-label: compass-virtual
- SUT: compass
- auto-trigger-name: 'daily-trigger-disabled'
- <<: *fraser
- - baremetal:
- slave-label: compass-baremetal
- SUT: compass
- auto-trigger-name: 'daily-trigger-disabled'
- <<: *gambia
- - virtual:
- slave-label: compass-virtual
- SUT: compass
- auto-trigger-name: 'daily-trigger-disabled'
- <<: *gambia
+ <<: *hunter
# -------------------------------
# Installers not using labels
# CI PODs
slave-label: apex-virtual-master
SUT: apex
auto-trigger-name: 'daily-trigger-disabled'
- <<: *fraser
+ <<: *hunter
- baremetal:
slave-label: apex-baremetal-master
SUT: apex
auto-trigger-name: 'daily-trigger-disabled'
- <<: *fraser
- - virtual:
- slave-label: apex-virtual-master
- SUT: apex
- auto-trigger-name: 'daily-trigger-disabled'
- <<: *gambia
- - baremetal:
- slave-label: apex-baremetal-master
- SUT: apex
- auto-trigger-name: 'daily-trigger-disabled'
- <<: *gambia
+ <<: *hunter
# armband CI PODs
- armband-baremetal:
slave-label: armband-baremetal
SUT: fuel
auto-trigger-name: 'daily-trigger-disabled'
<<: *master
- - armband-baremetal:
- slave-label: armband-baremetal
- SUT: fuel
- auto-trigger-name: 'daily-trigger-disabled'
- <<: *fraser
- - armband-virtual:
- slave-label: armband-virtual
- SUT: fuel
- auto-trigger-name: 'daily-trigger-disabled'
- <<: *fraser
# -------------------------------
# None-CI PODs
# -------------------------------
- - baremetal-centos:
- slave-label: 'intel-pod8'
- SUT: compass
- auto-trigger-name: 'daily-trigger-disabled'
- <<: *master
- zte-pod1:
slave-label: zte-pod1
SUT: fuel
SUT: fuel
auto-trigger-name: 'daily-trigger-disabled'
<<: *master
- - zte-pod1:
- slave-label: zte-pod1
- SUT: fuel
- auto-trigger-name: 'daily-trigger-disabled'
- <<: *fraser
- - zte-pod3:
- slave-label: zte-pod3
- SUT: fuel
- auto-trigger-name: 'daily-trigger-disabled'
- <<: *fraser
- - huawei-pod4:
- slave-label: huawei-pod4
- SUT: apex
- auto-trigger-name: 'daily-trigger-disabled'
- <<: *fraser
- - huawei-pod7:
- slave-label: huawei-pod7
- SUT: compass
- auto-trigger-name: 'daily-trigger-disabled'
- <<: *fraser
# -------------------------------
testsuite:
get_cred_file_with_scripts
}
-get_compass_cred_file() {
- get_cred_file_with_scripts
-}
-
get_fuel_cred_file() {
get_cred_file_with_scripts
}
exists=`check_file_exists ${CACERT}`
if [[ $exists == 0 ]]; then
echo "INFO: set ${INSTALLER_TYPE} openstack cacert file to be ${CACERT}"
- if [[ ${INSTALLER_TYPE} == "compass" ]]; then
- echo "export OS_CACERT=${CACERT}" >> ${OPENRC}
- elif [[ ${INSTALLER_TYPE} == "fuel" ]]; then
+ if [[ ${INSTALLER_TYPE} == "fuel" ]]; then
sed -i "s#/etc/ssl/certs/mcp_os_cacert#${CACERT}#g" ${OPENRC}
fi
else
get_cred_file() {
if [[ ${INSTALLER_TYPE} == 'apex' ]]; then
get_apex_cred_file
- elif [[ ${INSTALLER_TYPE} == 'compass' ]]; then
- get_compass_cred_file
elif [[ ${INSTALLER_TYPE} == 'fuel' ]]; then
get_fuel_cred_file
elif [[ ${INSTALLER_TYPE} == 'joid' ]]; then
cat $OPENRC
echo "INFO: change cacert file path in credentials file"
change_cred_file_cacert_path
- echo "INFO: set external network in credentials file"
- change_cred_file_ext_net
+ #echo "INFO: set external network in credentials file"
+ #change_cred_file_ext_net
echo "INFO: final openstack credentials file is:"
cat $OPENRC
else
fi
}
-get_compass_pod_file() {
- compass_repo=${WORKSPACE}/compass4nfv/
- echo "INFO: clone compass repo..."
- git clone https://github.com/opnfv/compass4nfv.git ${compass_repo} >/dev/null
- scenario_file=${compass_repo}/deploy/conf/hardware_environment/$NODE_NAME/os-nosdn-nofeature-ha.yml
- ipmiIp=$(cat ${scenario_file} | shyaml get-value hosts.0.ipmiIp)
- ipmiPass=$(cat ${scenario_file} | shyaml get-value hosts.0.ipmiPass)
- ipmiUser=root
- jumpserver_ip=$(ifconfig | grep -A 5 docker0 | grep "inet addr" | cut -d ':' -f 2 | cut -d ' ' -f 1)
-
- cat << EOF >${POD}
-nodes:
-- {ip: ${jumpserver_ip}, name: node0, password: root, role: Jumpserver, user: root}
-- {ip: 10.1.0.50, name: node1, password: root, role: controller, user: root,
- ipmi_ip: ${ipmiIp}, ipmi_user: ${ipmiUser}, ipmi_password: ${ipmiPass}}
-- {ip: 10.1.0.51, name: node2, password: root, role: controller, user: root}
-- {ip: 10.1.0.52, name: node3, password: root, role: controller, user: root}
-- {ip: 10.1.0.53, name: node4, password: root, role: compute, user: root}
-- {ip: 10.1.0.54, name: node5, password: root, role: compute, user: root}
-
-EOF
-
-}
-
get_fuel_baremetal_pod_file() {
fuel_ctl_ssh_options="${ssh_options} -i ${SSH_KEY}"
ssh_user="ubuntu"
cat << EOF >${POD}
nodes:
-- {ip: ${INSTALLER_IP}, name: node0, key_filename: /home/opnfv/userconfig/pre_config/id_rsa,
+- {ip: ${INSTALLER_IP}, name: node0, key_filename: ${DOVETAIL_CONFIG}/id_rsa,
role: Jumpserver, user: ${ssh_user}}
-- {ip: ${fuel_ctl_ip}, name: node1, key_filename: /home/opnfv/userconfig/pre_config/id_rsa,
+- {ip: ${fuel_ctl_ip}, name: node1, key_filename: ${DOVETAIL_CONFIG}/id_rsa,
role: controller, user: ${ssh_user}, ipmi_ip: ${ipmiIp}, ipmi_user: ${ipmiUser}, ipmi_password: ${ipmiPass}}
-- {ip: ${fuel_msg_ip}, name: msg01, key_filename: /home/opnfv/userconfig/pre_config/id_rsa, role: controller, user: ${ssh_user}}
-- {ip: ${fuel_cmp_ip}, name: cmp01, key_filename: /home/opnfv/userconfig/pre_config/id_rsa, role: controller, user: ${ssh_user}}
-- {ip: ${fuel_dbs_ip}, name: dbs01, key_filename: /home/opnfv/userconfig/pre_config/id_rsa, role: controller, user: ${ssh_user}}
+- {ip: ${fuel_msg_ip}, name: msg01, key_filename: ${DOVETAIL_CONFIG}/id_rsa, role: controller, user: ${ssh_user}}
+- {ip: ${fuel_cmp_ip}, name: cmp01, key_filename: ${DOVETAIL_CONFIG}/id_rsa, role: controller, user: ${ssh_user}}
+- {ip: ${fuel_dbs_ip}, name: dbs01, key_filename: ${DOVETAIL_CONFIG}/id_rsa, role: controller, user: ${ssh_user}}
EOF
}
sudo pip install -e ./ >/dev/null
sudo pip install netaddr
- if [[ ${INSTALLER_TYPE} == compass ]]; then
- options="-u root -p root"
- elif [[ ${INSTALLER_TYPE} == fuel ]]; then
+ if [[ ${INSTALLER_TYPE} == fuel ]]; then
options="-u ubuntu -k /root/.ssh/id_rsa"
elif [[ ${INSTALLER_TYPE} == apex ]]; then
options="-u stack -k /root/.ssh/id_rsa"
cmd="sudo python ${releng_repo}/utils/create_pod_file.py -t ${INSTALLER_TYPE} \
-i ${INSTALLER_IP} ${options} -f ${POD} \
- -s /home/opnfv/userconfig/pre_config/id_rsa"
+ -s ${DOVETAIL_CONFIG}/id_rsa"
echo "INFO: cmd is ${cmd}"
${cmd}
EOF
}
-change_compass_pod_file_process_info() {
- cat << EOF >> ${POD}
-process_info:
-- {testcase_name: yardstick.ha.rabbitmq, attack_process: rabbitmq}
-EOF
-}
-
change_pod_file_process_info() {
sudo chmod 666 ${POD}
echo "INFO: adapt process info for $INSTALLER_TYPE ..."
change_apex_pod_file_process_info
elif [ "$INSTALLER_TYPE" == "fuel" ]; then
change_fuel_pod_file_process_info
- elif [ "$INSTALLER_TYPE" == "compass" ]; then
- change_compass_pod_file_process_info
fi
}
sudo pip install shyaml
sudo yum install -y rubygems || sudo apt-get install -y ruby
sudo gem install hiera-eyaml
- if [[ ${INSTALLER_TYPE} == 'compass' ]]; then
- get_compass_pod_file
- elif [[ ${INSTALLER_TYPE} == 'fuel' && ${DEPLOY_TYPE} == 'baremetal' ]]; then
+ if [[ ${INSTALLER_TYPE} == 'fuel' && ${DEPLOY_TYPE} == 'baremetal' ]]; then
get_fuel_baremetal_pod_file
fi
# Modify tempest_conf.yaml file
tempest_conf_file=${DOVETAIL_CONFIG}/tempest_conf.yaml
-if [[ ${INSTALLER_TYPE} == 'compass' || ${INSTALLER_TYPE} == 'apex' ]]; then
+if [[ ${INSTALLER_TYPE} == 'apex' ]]; then
volume_device='vdb'
else
volume_device='vdc'
compute:
min_compute_nodes: 2
volume_device_name: ${volume_device}
+ max_microversion: 2.65
EOF
+++ /dev/null
----
-- project:
- name: dovetail-weekly-jobs
- project: dovetail
- # -------------------------------
- # BRANCH ANCHORS
- # -------------------------------
- master: &master
- stream: master
- branch: '{stream}'
- dovetail-branch: '{stream}'
- gs-pathname: ''
- docker-tag: 'latest'
- danube: &danube
- stream: danube
- branch: 'stable/{stream}'
- dovetail-branch: master
- gs-pathname: '/{stream}'
- docker-tag: 'latest'
-
- # -------------------------------
- # POD, INSTALLER, AND BRANCH MAPPING
- # -------------------------------
- # Installers using labels
- # CI PODs
- # This section should only contain the installers
- # that have been switched using labels for slaves
- # -------------------------------
- pod:
- # - baremetal:
- # slave-label: apex-baremetal
- # SUT: apex
- # <<: *danube
- - baremetal:
- slave-label: compass-baremetal
- SUT: compass
- <<: *danube
- # - baremetal:
- # slave-label: fuel-baremetal
- # SUT: fuel
- # <<: *danube
- # - baremetal:
- # slave-label: joid-baremetal
- # SUT: joid
- # <<: *danube
-
- testsuite:
- - 'debug'
- - 'compliance_set'
- - 'proposed_tests'
-
- loop:
- - 'weekly':
- job-timeout: 180
-
- jobs:
- - 'dovetail-{SUT}-{pod}-{testsuite}-{loop}-{stream}'
-
-################################
-# job template
-################################
-- job-template:
- name: 'dovetail-{SUT}-{pod}-{testsuite}-{loop}-{stream}'
-
- disabled: true
-
- concurrent: true
-
- properties:
- - logrotate-default
- - throttle:
- enabled: true
- max-per-node: 1
- option: 'project'
-
- wrappers:
- - build-name:
- name: '$BUILD_NUMBER Scenario: $DEPLOY_SCENARIO'
- - timeout:
- timeout: '{job-timeout}'
- abort: true
- - fix-workspace-permissions
-
- parameters:
- - project-parameter:
- project: '{project}'
- branch: '{dovetail-branch}'
- - '{SUT}-defaults'
- - '{slave-label}-defaults'
- - string:
- name: DEPLOY_SCENARIO
- default: 'os-nosdn-nofeature-ha'
- - string:
- name: DOCKER_TAG
- default: '{docker-tag}'
- description: 'Tag to pull dovetail docker image'
- - string:
- name: CI_DEBUG
- default: 'true'
- description: "Show debug output information"
- - string:
- name: TESTSUITE
- default: '{testsuite}'
- description: "dovetail testsuite to run"
- - string:
- name: DOVETAIL_REPO_DIR
- default: "/home/opnfv/dovetail"
- description: "Directory where the dovetail repository is cloned"
-
- scm:
- - git-scm
-
- builders:
- - description-setter:
- description: "POD: $NODE_NAME"
- - 'dovetail-cleanup'
- - 'dovetail-run'
-
- publishers:
- - archive:
- artifacts: 'results/**/*'
- allow-empty: true
- fingerprint: true
- - email-jenkins-admins-on-failure
-
-########################
-# builder macros
-########################
-- builder:
- name: dovetail-run-weekly
- builders:
- - shell:
- !include-raw: ./dovetail-run.sh
-
-- builder:
- name: dovetail-cleanup-weekly
- builders:
- - shell:
- !include-raw: ./dovetail-cleanup.sh
+++ /dev/null
----
-- project:
- name: dpacc
-
- project: '{name}'
-
- jobs:
- - '{project}-verify-basic'
- master:
branch: '{stream}'
disabled: false
+ - hunter: &hunter
+ branch: 'stable/{stream}'
+ gs-pathname: '/{stream}'
+ disabled: false
- gambia:
branch: 'stable/{stream}'
disabled: false
--- /dev/null
+---
+- project:
+ name: edgecloud-rtd-view
+ views:
+ - project-view
+ project-name: edgecloud
--- /dev/null
+---
+- project:
+ name: fds-view
+ views:
+ - project-view
+ project-name: fds
branch: '{stream}'
disabled: false
gs-pathname: ''
- functest_docker_tag: hunter
- hunter: &hunter
- stream: hunter
+ functest_docker_tag: iruya
+ iruya: &iruya
+ stream: iruya
branch: 'stable/{stream}'
disabled: false
gs-pathname: '/{stream}'
<<: *master
- baremetal:
slave-label: fuel-baremetal
- <<: *hunter
+ <<: *iruya
- virtual:
slave-label: fuel-virtual
- <<: *hunter
+ <<: *iruya
# -------------------------------
# None-CI PODs
# -------------------------------
- zte-pod1:
slave-label: zte-pod1
<<: *master
+ - itri-pod1:
+ slave-label: itri-pod1
+ <<: *master
# -------------------------------
# scenarios
# -------------------------------
build-step-failure-threshold: 'never'
failure-threshold: 'never'
unstable-threshold: 'FAILURE'
+ # 1.here the stream means the SUT stream, dovetail stream is defined in its own job
+ # 2.testsuite default here is for the test cases already added into OVP
+ # 3.run default testsuite mandatory test cases against ha scenario
+ # 4.run default testsuite optional test cases against ha scenario twice one week
+ # 5.run proposed_tests testsuite optional test cases against ha scenario
+ # 6.not used for release criteria or compliance, only to debug the dovetail tool bugs
+ - conditional-step:
+ condition-kind: and
+ condition-operands:
+ - condition-kind: regex-match
+ regex: '.*-ha'
+ label: '{scenario}'
+ steps:
+ - trigger-builds:
+ - project: 'dovetail-fuel-{pod}-default-mandatory-{stream}'
+ current-parameters: false
+ predefined-parameters: |
+ DEPLOY_SCENARIO={scenario}
+ INSTALLER_VERSION={stream}
+ block: true
+ same-node: true
+ block-thresholds:
+ build-step-failure-threshold: 'never'
+ failure-threshold: 'never'
+ unstable-threshold: 'FAILURE'
+ - project: 'dovetail-fuel-{pod}-proposed_tests-optional-{stream}'
+ current-parameters: false
+ predefined-parameters: |
+ DEPLOY_SCENARIO={scenario}
+ INSTALLER_VERSION={stream}
+ block: true
+ same-node: true
+ block-thresholds:
+ build-step-failure-threshold: 'never'
+ failure-threshold: 'never'
+ unstable-threshold: 'FAILURE'
+ - conditional-step:
+ condition-kind: and
+ condition-operands:
+ - condition-kind: regex-match
+ regex: '.*-ha'
+ label: '{scenario}'
+ - condition-kind: day-of-week
+ day-selector: select-days
+ days:
+ MON: true
+ WED: true
+ use-build-time: true
+ steps:
+ - trigger-builds:
+ - project: 'dovetail-fuel-{pod}-default-optional-{stream}'
+ current-parameters: false
+ predefined-parameters: |
+ DEPLOY_SCENARIO={scenario}
+ INSTALLER_VERSION={stream}
+ block: true
+ same-node: true
+ block-thresholds:
+ build-step-failure-threshold: 'never'
+ failure-threshold: 'never'
+ unstable-threshold: 'FAILURE'
- trigger-builds:
- project: 'fuel-collect-logs-{pod}-daily-{stream}'
current-parameters: false
triggers:
- timed: ''
# ----------------------------------------------
-# Triggers for job running on fuel-baremetal against hunter branch
+# Triggers for job running on fuel-baremetal against iruya branch
# ----------------------------------------------
# HA Scenarios
- trigger:
- name: 'fuel-os-nosdn-nofeature-ha-baremetal-daily-hunter-trigger'
+ name: 'fuel-os-nosdn-nofeature-ha-baremetal-daily-iruya-trigger'
triggers:
- - timed: '0 20 * * 1,2,4,7'
+ - timed: '0 20 * * 1,4,7'
- trigger:
- name: 'fuel-os-odl-nofeature-ha-baremetal-daily-hunter-trigger'
+ name: 'fuel-os-odl-nofeature-ha-baremetal-daily-iruya-trigger'
triggers:
- timed: '0 2 * * *'
- trigger:
- name: 'fuel-os-ovn-nofeature-ha-baremetal-daily-hunter-trigger'
+ name: 'fuel-os-ovn-nofeature-ha-baremetal-daily-iruya-trigger'
triggers:
- timed: ''
- trigger:
- name: 'fuel-os-nosdn-ovs-ha-baremetal-daily-hunter-trigger'
+ name: 'fuel-os-nosdn-ovs-ha-baremetal-daily-iruya-trigger'
triggers:
- timed: '0 5 * * *'
- trigger:
- name: 'fuel-os-nosdn-fdio-ha-baremetal-daily-hunter-trigger'
+ name: 'fuel-os-nosdn-fdio-ha-baremetal-daily-iruya-trigger'
triggers:
- timed: ''
# NOHA Scenarios
- trigger:
- name: 'fuel-os-nosdn-nofeature-noha-baremetal-daily-hunter-trigger'
+ name: 'fuel-os-nosdn-nofeature-noha-baremetal-daily-iruya-trigger'
triggers:
- timed: ''
- trigger:
- name: 'fuel-os-odl-nofeature-noha-baremetal-daily-hunter-trigger'
+ name: 'fuel-os-odl-nofeature-noha-baremetal-daily-iruya-trigger'
triggers:
- timed: ''
- trigger:
- name: 'fuel-os-odl-sfc-noha-baremetal-daily-hunter-trigger'
+ name: 'fuel-os-odl-sfc-noha-baremetal-daily-iruya-trigger'
triggers:
- timed: ''
- trigger:
- name: 'fuel-os-odl-bgpvpn-noha-baremetal-daily-hunter-trigger'
+ name: 'fuel-os-odl-bgpvpn-noha-baremetal-daily-iruya-trigger'
triggers:
- timed: ''
- trigger:
- name: 'fuel-os-ovn-nofeature-noha-baremetal-daily-hunter-trigger'
+ name: 'fuel-os-ovn-nofeature-noha-baremetal-daily-iruya-trigger'
triggers:
- timed: '0 20 * * 6'
- trigger:
- name: 'fuel-os-odl-ovs-noha-baremetal-daily-hunter-trigger'
+ name: 'fuel-os-odl-ovs-noha-baremetal-daily-iruya-trigger'
triggers:
- - timed: ''
+ - timed: '0 20 * * 2'
- trigger:
- name: 'fuel-os-nosdn-ovs-noha-baremetal-daily-hunter-trigger'
+ name: 'fuel-os-nosdn-ovs-noha-baremetal-daily-iruya-trigger'
triggers:
- timed: ''
- trigger:
- name: 'fuel-os-nosdn-fdio-noha-baremetal-daily-hunter-trigger'
+ name: 'fuel-os-nosdn-fdio-noha-baremetal-daily-iruya-trigger'
triggers:
- timed: '0 20 * * 3,5'
- trigger:
- name: 'fuel-k8-calico-nofeature-noha-baremetal-daily-hunter-trigger'
+ name: 'fuel-k8-calico-nofeature-noha-baremetal-daily-iruya-trigger'
triggers:
- timed: ''
# ----------------------------------------------
- trigger:
name: 'fuel-os-odl-sfc-noha-virtual-daily-master-trigger'
triggers:
- - timed: '5 4 * * *'
+ - timed: '5 4 * * 1,4'
- trigger:
name: 'fuel-os-odl-bgpvpn-noha-virtual-daily-master-trigger'
triggers:
- - timed: '5 6 * * *'
+ - timed: '5 6 * * 2,5'
- trigger:
name: 'fuel-os-ovn-nofeature-noha-virtual-daily-master-trigger'
triggers:
triggers:
- timed: '5 16 * * *'
# ----------------------------------------------
-# Triggers for job running on fuel-virtual against hunter branch
+# Triggers for job running on fuel-virtual against iruya branch
# ----------------------------------------------
- trigger:
- name: 'fuel-os-nosdn-nofeature-ha-virtual-daily-hunter-trigger'
+ name: 'fuel-os-nosdn-nofeature-ha-virtual-daily-iruya-trigger'
triggers:
- timed: ''
- trigger:
- name: 'fuel-os-odl-nofeature-ha-virtual-daily-hunter-trigger'
+ name: 'fuel-os-odl-nofeature-ha-virtual-daily-iruya-trigger'
triggers:
- timed: ''
- trigger:
- name: 'fuel-os-ovn-nofeature-ha-virtual-daily-hunter-trigger'
+ name: 'fuel-os-ovn-nofeature-ha-virtual-daily-iruya-trigger'
triggers:
- timed: ''
- trigger:
- name: 'fuel-os-nosdn-ovs-ha-virtual-daily-hunter-trigger'
+ name: 'fuel-os-nosdn-ovs-ha-virtual-daily-iruya-trigger'
triggers:
- timed: ''
- trigger:
- name: 'fuel-os-nosdn-fdio-ha-virtual-daily-hunter-trigger'
+ name: 'fuel-os-nosdn-fdio-ha-virtual-daily-iruya-trigger'
triggers:
- timed: ''
# NOHA Scenarios
- trigger:
- name: 'fuel-os-nosdn-nofeature-noha-virtual-daily-hunter-trigger'
+ name: 'fuel-os-nosdn-nofeature-noha-virtual-daily-iruya-trigger'
triggers:
- timed: '0 13 * * *'
- trigger:
- name: 'fuel-os-odl-nofeature-noha-virtual-daily-hunter-trigger'
+ name: 'fuel-os-odl-nofeature-noha-virtual-daily-iruya-trigger'
triggers:
- timed: '0 18 * * *'
- trigger:
- name: 'fuel-os-odl-sfc-noha-virtual-daily-hunter-trigger'
+ name: 'fuel-os-odl-sfc-noha-virtual-daily-iruya-trigger'
triggers:
- - timed: '0 4 * * *'
+ - timed: '0 4 * * 1,4'
- trigger:
- name: 'fuel-os-odl-bgpvpn-noha-virtual-daily-hunter-trigger'
+ name: 'fuel-os-odl-bgpvpn-noha-virtual-daily-iruya-trigger'
triggers:
- - timed: '0 7 * * *'
+ - timed: '0 7 * * 2,5'
- trigger:
- name: 'fuel-os-ovn-nofeature-noha-virtual-daily-hunter-trigger'
+ name: 'fuel-os-ovn-nofeature-noha-virtual-daily-iruya-trigger'
triggers:
- timed: '0 23 * * *'
- trigger:
- name: 'fuel-os-odl-ovs-noha-virtual-daily-hunter-trigger'
+ name: 'fuel-os-odl-ovs-noha-virtual-daily-iruya-trigger'
triggers:
- timed: '0 2 * * *'
- trigger:
- name: 'fuel-os-nosdn-ovs-noha-virtual-daily-hunter-trigger'
+ name: 'fuel-os-nosdn-ovs-noha-virtual-daily-iruya-trigger'
triggers:
- timed: '0 9 * * *'
- trigger:
- name: 'fuel-os-nosdn-fdio-noha-virtual-daily-hunter-trigger'
+ name: 'fuel-os-nosdn-fdio-noha-virtual-daily-iruya-trigger'
triggers:
- timed: '0 13 * * 6,7'
- trigger:
- name: 'fuel-k8-calico-nofeature-noha-virtual-daily-hunter-trigger'
+ name: 'fuel-k8-calico-nofeature-noha-virtual-daily-iruya-trigger'
triggers:
- timed: '5 13 * * 6,7'
# ----------------------------------------------
name: 'fuel-k8-calico-nofeature-noha-zte-pod1-daily-master-trigger'
triggers:
- timed: ''
+# ----------------------------------------------
+# ITRI POD1 Triggers running against master branch
+# ----------------------------------------------
+- trigger:
+ name: 'fuel-os-nosdn-nofeature-ha-itri-pod1-daily-master-trigger'
+ triggers:
+ - timed: '0 13 * * 1'
+- trigger:
+ name: 'fuel-os-odl-nofeature-ha-itri-pod1-daily-master-trigger'
+ triggers:
+ - timed: '0 17 * * 1'
+- trigger:
+ name: 'fuel-os-ovn-nofeature-ha-itri-pod1-daily-master-trigger'
+ triggers:
+ - timed: '0 13 * * 2'
+- trigger:
+ name: 'fuel-os-nosdn-ovs-ha-itri-pod1-daily-master-trigger'
+ triggers:
+ - timed: '0 17 * * 2'
+- trigger:
+ name: 'fuel-os-nosdn-fdio-ha-itri-pod1-daily-master-trigger'
+ triggers:
+ - timed: ''
+# NOHA Scenarios
+- trigger:
+ name: 'fuel-os-nosdn-nofeature-noha-itri-pod1-daily-master-trigger'
+ triggers:
+ - timed: '0 13 * * 3'
+- trigger:
+ name: 'fuel-os-odl-nofeature-noha-itri-pod1-daily-master-trigger'
+ triggers:
+ - timed: '0 17 * * 3'
+- trigger:
+ name: 'fuel-os-odl-sfc-noha-itri-pod1-daily-master-trigger'
+ triggers:
+ - timed: '0 13 * * 4'
+- trigger:
+ name: 'fuel-os-odl-bgpvpn-noha-itri-pod1-daily-master-trigger'
+ triggers:
+ - timed: ''
+- trigger:
+ name: 'fuel-os-ovn-nofeature-noha-itri-pod1-daily-master-trigger'
+ triggers:
+ - timed: '0 17 * * 4'
+- trigger:
+ name: 'fuel-os-odl-ovs-noha-itri-pod1-daily-master-trigger'
+ triggers:
+ - timed: '0 13 * * 5'
+- trigger:
+ name: 'fuel-os-nosdn-ovs-noha-itri-pod1-daily-master-trigger'
+ triggers:
+ - timed: '0 17 * * 5'
+- trigger:
+ name: 'fuel-os-nosdn-fdio-noha-itri-pod1-daily-master-trigger'
+ triggers:
+ - timed: ''
+- trigger:
+ name: 'fuel-k8-calico-nofeature-noha-itri-pod1-daily-master-trigger'
+ triggers:
+ - timed: '0 13 * * 6'
# shellcheck disable=SC2153
POD_NAME=${NODE_NAME/*-}
-# Fuel currently supports arm, enea, ericsson, intel, lf, unh and zte labs
-if [[ ! "${LAB_NAME}" =~ (arm|enea|ericsson|intel|lf|unh|zte) ]]; then
+# Fuel currently supports arm, enea, ericsson, intel, lf, unh, zte and itri labs
+if [[ ! "${LAB_NAME}" =~ (arm|enea|ericsson|intel|lf|unh|zte|itri) ]]; then
echo "Unsupported/unidentified lab ${LAB_NAME}. Cannot continue!"
exit 1
fi
- master:
branch: '{stream}'
disabled: false
- - hunter:
+ - iruya:
branch: 'stable/{stream}'
disabled: false
- master:
branch: '{stream}'
disabled: false
- - hunter:
+ - iruya:
branch: 'stable/{stream}'
disabled: false
branch: '{stream}'
gs-pathname: ''
disabled: false
- functest_docker_tag: hunter
- - hunter:
+ functest_docker_tag: iruya
+ - iruya:
branch: 'stable/{stream}'
gs-pathname: '/{stream}'
disabled: false
FUNCTEST_IMAGE=${REPO}/functest-benchmarking:${DOCKER_TAG} ;;
cloudify|cloudify_ims|heat_ims|vyos_vrouter|juju_epc)
FUNCTEST_IMAGE=${REPO}/functest-vnf:${DOCKER_TAG} ;;
- doctor-notification|bgpvpn|functest-odl-sfc|barometercollectd|fds|vgpu|stor4nfv_os)
- FUNCTEST_IMAGE=${REPO}/functest-features:${DOCKER_TAG} ;;
*)
echo "Unkown test case $test_name"
exit 1
if [[ ${INSTALLER_TYPE} == 'joid' ]]; then
rc_file=$LAB_CONFIG/admin-openrc
-elif [[ ${INSTALLER_TYPE} == 'compass' ]]; then
- cacert_file_vol="-v ${HOME}/os_cacert:${FUNCTEST_DIR}/conf/os_cacert"
- echo "export OS_CACERT=${FUNCTEST_DIR}/conf/os_cacert" >> ${HOME}/opnfv-openrc.sh
elif [[ ${INSTALLER_TYPE} == 'fuel' ]] && [[ "${DEPLOY_SCENARIO}" =~ -ha$ ]]; then
cacert_file_vol="-v ${HOME}/os_cacert:/etc/ssl/certs/mcp_os_cacert"
fi
COMPUTE_ARCH=$(ssh -l ubuntu ${INSTALLER_IP} -i ${SSH_KEY} ${ssh_options} \
"sudo salt 'cmp*' grains.get cpuarch --out yaml | awk '{print \$2; exit}'")
IMAGE_PROPERTIES="hw_disk_bus:scsi,hw_scsi_model:virtio-scsi"
- envs="${envs} -e POD_ARCH=${COMPUTE_ARCH}"
+ envs="${envs} -e POD_ARCH=${COMPUTE_ARCH} -e BLOCK_MIGRATION=false"
fi
if [[ ${INSTALLER_TYPE} == 'fuel' && ${DEPLOY_SCENARIO} == 'os-nosdn-nofeature-noha' ]]; then
envs="${envs} -e LIBVIRT_USER=ubuntu -e LIBVIRT_KEY_PATH=${FUNCTEST_DIR}/conf/libvirt_key"
fi
-if [[ ${INSTALLER_TYPE} == 'compass' && ${DEPLOY_SCENARIO} =~ 'sfc' ]]; then
- ssh_key="/tmp/id_rsa"
- user_config="/tmp/openstack_user_config.yml"
- docker cp compass-tasks:/root/.ssh/id_rsa $ssh_key
- docker cp compass-tasks:/etc/openstack_deploy/openstack_user_config.yml $user_config
- sshkey_vol="-v ${ssh_key}:/root/.ssh/id_rsa"
- userconfig_vol="-v ${user_config}:${user_config}"
- envs="${envs} -e EXTERNAL_NETWORK=${EXTERNAL_NETWORK}"
-fi
-
-if [[ ${INSTALLER_TYPE} == 'compass' ]] || [[ ${DEPLOY_SCENARIO} == *"odl"* ]]; then
- envs="${envs} -e SDN_CONTROLLER_RESTCONFPORT=8080"
-fi
-
if [[ ${DEPLOY_SCENARIO} == *"ovs"* ]] || [[ ${DEPLOY_SCENARIO} == *"fdio"* ]]; then
if [[ -n ${IMAGE_PROPERTIES} ]]; then
IMAGE_PROPERTIES="${IMAGE_PROPERTIES},hw_mem_page_size:large"
backup: false
EOF
;;
-compass)
- cat << EOF > "${tempest_conf_yaml}"
----
-compute-feature-enabled:
- shelve: false
- vnc_console: false
- block_migration_for_live_migration: false
- spice_console: true
-identity-feature-enabled:
- api_v2: false
- api_v2_admin: false
-image-feature-enabled:
- api_v2: true
- api_v1: false
-volume:
- storage_protocol: ceph
-volume-feature-enabled:
- backup: false
-EOF
- ;;
fuel)
cat << EOF > "${tempest_conf_yaml}"
---
max_microversion: 2.65
EOF
;;
-stable/gambia)
- cat << EOF >> "${tempest_conf_yaml}"
-compute:
- max_microversion: 2.60
-EOF
- ;;
esac
echo "tempest_conf.yaml:" && cat "${tempest_conf_yaml}"
tests=()
skip_tests=0
if [ "${HOST_ARCH}" != "aarch64" ]; then
- if [[ ${BRANCH} == "stable/gambia" ]]; then
- tiers=(healthcheck smoke benchmarking features vnf components)
- else
- tiers=(healthcheck smoke benchmarking features vnf)
- fi
+ tiers=(healthcheck smoke benchmarking vnf)
else
- if [[ ${BRANCH} == "stable/gambia" ]]; then
- tiers=(healthcheck smoke benchmarking features components)
- else
- tiers=(healthcheck smoke benchmarking features)
- fi
+ tiers=(healthcheck smoke benchmarking)
fi
run_tiers ${tiers}
if [ ${skip_tests} -eq 0 ]; then
stream: master
branch: '{stream}'
gs-pathname: ''
- gambia: &gambia
- stream: gambia
+ iruya: &iruya
+ stream: iruya
branch: 'stable/{stream}'
gs-pathname: '/{stream}'
hunter: &hunter
slave-label: fuel-virtual
installer: fuel
<<: *hunter
- # compass CI PODs
- - baremetal:
- slave-label: compass-baremetal
- installer: compass
- <<: *gambia
- - virtual:
- slave-label: compass-virtual
- installer: compass
- <<: *gambia
# apex CI PODs
- virtual:
slave-label: apex-virtual-master
- virtual:
slave-label: apex-virtual-master
installer: apex
- <<: *gambia
+ <<: *hunter
- baremetal:
slave-label: apex-baremetal-master
installer: apex
- <<: *gambia
+ <<: *hunter
# armband CI PODs
- armband-baremetal:
slave-label: armband-baremetal
slave-label: armband-baremetal
installer: fuel
<<: *hunter
+ # fuel NONE CI PODs
+ - zte-pod1:
+ slave-label: fuel-baremetal
+ installer: fuel
+ <<: *master
+ - itri-pod1:
+ slave-label: fuel-baremetal
+ installer: fuel
+ <<: *master
testsuite:
- 'suite':
- 'shaker'
- 'vmtp'
- 'neutron_trunk'
- - 'doctor-notification'
- - 'bgpvpn'
- - 'functest-odl-sfc'
- - 'barometercollectd'
- - 'fds'
- 'tempest_full'
- 'rally_full'
- 'cloudify_ims'
- 'healthcheck'
- 'smoke'
- 'benchmarking'
- - 'features'
- 'components'
- 'vnf'
- 'parser'
- master:
branch: '{stream}'
disabled: false
- - iruya:
+ - jerma:
branch: 'stable/{stream}'
disabled: false
- - hunter:
+ - iruya:
branch: 'stable/{stream}'
disabled: false
- - gambia:
+ - hunter:
branch: 'stable/{stream}'
disabled: false
- 'core'
- 'tempest'
- 'healthcheck'
- - 'features'
- - 'components'
- 'smoke'
- 'benchmarking'
- 'vnf'
+ - 'smoke-cntt'
+ - 'benchmarking-cntt'
exclude:
- stream: 'master'
- image: 'components'
- - stream: 'iruya'
- image: 'components'
- - stream: 'hunter'
- image: 'components'
+ image: 'tempest'
+ - stream: 'jerma'
+ image: 'tempest'
# settings for jobs run in multijob phases
build-job-settings: &build-job-settings
<<: *build-job-settings
- name: 'functest-healthcheck-docker-build-arm64-{stream}'
<<: *build-job-settings
- - name: 'functest-features-docker-build-amd64-{stream}'
- <<: *build-job-settings
- - name: 'functest-features-docker-build-arm64-{stream}'
- <<: *build-job-settings
- - name: 'functest-components-docker-build-amd64-{stream}'
- <<: *build-job-settings
- - name: 'functest-components-docker-build-arm64-{stream}'
- <<: *build-job-settings
- name: 'functest-smoke-docker-build-amd64-{stream}'
<<: *build-job-settings
- name: 'functest-smoke-docker-build-arm64-{stream}'
projects:
- name: 'functest-healthcheck-docker-manifest-{stream}'
<<: *manifest-job-settings
- - name: 'functest-features-docker-manifest-{stream}'
- <<: *manifest-job-settings
- - name: 'functest-components-docker-manifest-{stream}'
- <<: *manifest-job-settings
- name: 'functest-smoke-docker-manifest-{stream}'
<<: *manifest-job-settings
- name: 'functest-benchmarking-docker-manifest-{stream}'
<<: *manifest-job-settings
- name: 'functest-vnf-docker-manifest-{stream}'
<<: *manifest-job-settings
+ - multijob:
+ name: 'build all functest cntt images'
+ condition: SUCCESSFUL
+ execution-type: PARALLEL
+ projects:
+ - name: 'functest-smoke-cntt-docker-build-amd64-{stream}'
+ <<: *build-job-settings
+ - name: 'functest-smoke-cntt-docker-build-arm64-{stream}'
+ <<: *build-job-settings
+ - name: 'functest-benchmarking-cntt-docker-build-amd64-{stream}'
+ <<: *build-job-settings
+ - name: 'functest-benchmarking-cntt-docker-build-arm64-{stream}'
+ <<: *build-job-settings
+ - multijob:
+ name: 'publish all cntt manifests'
+ condition: SUCCESSFUL
+ execution-type: PARALLEL
+ projects:
+ - name: 'functest-smoke-cntt-docker-manifest-{stream}'
+ <<: *manifest-job-settings
+ - name: 'functest-benchmarking-cntt-docker-manifest-{stream}'
+ <<: *manifest-job-settings
publishers:
- 'functest-amd64-recipients'
FUNCTEST_IMAGES="\
opnfv/functest-kubernetes-healthcheck:${DOCKER_TAG} \
-opnfv/functest-kubernetes-smoke:${DOCKER_TAG} \
-opnfv/functest-kubernetes-features:${DOCKER_TAG}"
+opnfv/functest-kubernetes-smoke:${DOCKER_TAG}"
cmd_opt="run_tests -r -t all"
for image in ${FUNCTEST_IMAGES}; do
- master:
branch: '{stream}'
disabled: false
- - iruya:
+ - jerma:
branch: 'stable/{stream}'
disabled: false
- - hunter:
+ - iruya:
branch: 'stable/{stream}'
disabled: false
- - gambia:
+ - hunter:
branch: 'stable/{stream}'
disabled: false
image:
- 'core'
- 'healthcheck'
- - 'features'
- 'smoke'
# settings for jobs run in multijob phases
condition: SUCCESSFUL
execution-type: PARALLEL
projects:
- - name: 'functest-kubernetes-features-docker-build-amd64-{stream}'
- <<: *build-job-settings
- - name: 'functest-kubernetes-features-docker-build-arm64-{stream}'
- <<: *build-job-settings
- name: 'functest-kubernetes-smoke-docker-build-amd64-{stream}'
<<: *build-job-settings
- name: 'functest-kubernetes-smoke-docker-build-arm64-{stream}'
condition: SUCCESSFUL
execution-type: PARALLEL
projects:
- - name: 'functest-kubernetes-features-docker-manifest-{stream}'
- <<: *manifest-job-settings
- name: 'functest-kubernetes-smoke-docker-manifest-{stream}'
<<: *manifest-job-settings
---
-###################################################
-# All the jobs except verify have been removed!
-# They will only be enabled on request by projects!
-###################################################
-- project:
- name: functest-kubernetes-project-jobs
-
- project: 'functest-kubernetes'
-
- jobs:
- - 'functest-kubernetes-verify-{stream}'
- - 'functest-kubernetes-verify-{phase}-{stream}'
-
- stream:
- - master:
- branch: '{stream}'
- gs-pathname: ''
- disabled: false
- - iruya: &iruya
- branch: 'stable/{stream}'
- gs-pathname: '/{stream}'
- disabled: false
- - hunter: &hunter
- branch: 'stable/{stream}'
- gs-pathname: '/{stream}'
- disabled: false
- - gambia: &gambia
- branch: 'stable/{stream}'
- gs-pathname: '/{stream}'
- disabled: false
-
- phase:
- - 'unit-tests-and-docs':
- slave-label: 'opnfv-build-ubuntu'
-
-- job-template:
- name: 'functest-kubernetes-verify-{stream}'
-
- disabled: '{obj:disabled}'
-
- project-type: 'multijob'
-
- parameters:
- - project-parameter:
- project: '{project}'
- branch: '{branch}'
- - 'opnfv-build-ubuntu-defaults'
-
- scm:
- - git-scm-gerrit
-
- triggers:
- - 'functest-kubernetes-verify-triggers-macro':
- project: '{project}'
- branch: '{branch}'
-
- builders:
- - shell: |
- #!/bin/bash
- # we do nothing here as the main stuff will be done
- # in phase jobs
- echo "Triggering phase jobs!"
- - multijob:
- name: 'functest-kubernetes-build-and-unittest'
- execution-type: PARALLEL
- projects:
- - name: 'functest-kubernetes-verify-unit-tests-and-docs-{stream}'
- current-parameters: false
- predefined-parameters: |
- GERRIT_BRANCH=$GERRIT_BRANCH
- GERRIT_REFSPEC=$GERRIT_REFSPEC
- GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
- GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
- git-revision: true
- node-parameters: false
- kill-phase-on: FAILURE
- abort-all-job: false
-
-- job-template:
- name: 'functest-kubernetes-verify-{phase}-{stream}'
-
- disabled: '{obj:disabled}'
-
- wrappers:
- - ssh-agent-wrapper
- - build-timeout:
- timeout: 30
-
- parameters:
- - project-parameter:
- project: '{project}'
- branch: '{branch}'
- - '{slave-label}-defaults'
-
- scm:
- - git-scm-gerrit
+- functest-kubernetes-project-params: &functest-kubernetes-project-params
+ name: 'functest-kubernetes-project-params'
+ tag:
+ - latest:
+ branch: master
+ slave: lf-virtual1
+ - jerma:
+ branch: stable/jerma
+ slave: lf-virtual1
+ - iruya:
+ branch: stable/iruya
+ slave: lf-virtual1
+ - hunter:
+ branch: stable/hunter
+ slave: lf-virtual1
+- builder:
+ name: functest-kubernetes-run-tox
builders:
- - 'functest-kubernetes-verify-{phase}-builders-macro'
-
- publishers:
- - 'functest-kubernetes-verify-{phase}-publishers-macro'
+ - shell: tox
-################################
-# job triggers
-################################
- trigger:
- name: 'functest-kubernetes-verify-triggers-macro'
+ name: functest-kubernetes-project-patchset-created
triggers:
- gerrit:
server-name: 'gerrit.opnfv.org'
trigger-on:
- - patchset-created-event:
- exclude-drafts: 'false'
- exclude-trivial-rebase: 'false'
- exclude-no-code-change: 'false'
- - draft-published-event
+ - patchset-created-event
- comment-added-contains-event:
comment-contains-value: 'recheck'
- comment-added-contains-event:
comment-contains-value: 'reverify'
projects:
- project-compare-type: 'ANT'
- project-pattern: '{project}'
+ project-pattern: 'functest-kubernetes'
branches:
- branch-compare-type: 'ANT'
branch-pattern: '**/{branch}'
- disable-strict-forbidden-file-verification: 'true'
- forbidden-file-paths:
- - compare-type: ANT
- pattern: 'docs/**|.gitignore'
+ skip-vote:
+ successful: false
+ failed: false
+ unstable: false
+ notbuilt: false
+
+- parameter:
+ name: functest-kubernetes-project-slave
+ parameters:
+ - label:
+ name: slave
+ default: '{slave}'
-################################
-# job builders
-################################
+- scm:
+ name: functest-kubernetes-project-scm
+ scm:
+ - git:
+ url: https://gerrit.opnfv.org/gerrit/functest-kubernetes
+ refspec: '+refs/changes/*:refs/changes/*'
+ branches:
+ - '{ref}'
-- builder:
- name: 'functest-kubernetes-verify-unit-tests-and-docs-builders-macro'
+- job-template:
+ name: 'functest-kubernetes-run-tox-{tag}'
+ triggers:
+ - functest-kubernetes-project-patchset-created:
+ branch: '{branch}'
+ scm:
+ - functest-kubernetes-project-scm:
+ ref: $GERRIT_REFSPEC
+ parameters:
+ - functest-kubernetes-project-slave:
+ slave: '{slave}'
builders:
- - shell: |
- cd $WORKSPACE && tox
+ - functest-kubernetes-run-tox
-################################
-# job publishers
-################################
-- publisher:
- name: 'functest-kubernetes-verify-unit-tests-and-docs-publishers-macro'
- publishers:
- - junit:
- results: nosetests.xml
- - cobertura:
- report-file: "coverage.xml"
- only-stable: "true"
- health-auto-update: "true"
- stability-auto-update: "true"
- zoom-coverage-chart: "true"
- targets:
- - files:
- healthy: 10
- unhealthy: 20
- failing: 30
- - method:
- healthy: 50
- unhealthy: 40
- failing: 30
- - email-jenkins-admins-on-failure
+- project:
+ name: 'functest-kubernetes-run-tox'
+ <<: *functest-kubernetes-project-params
+ jobs:
+ - 'functest-kubernetes-run-tox-{tag}'
repo: 'opnfv'
port:
tag:
+ - latest:
+ branch: master
+ slave: lf-virtual8
+ - jerma:
+ branch: stable/jerma
+ slave: lf-virtual8
- iruya:
branch: stable/iruya
+ slave: lf-virtual7
- hunter:
branch: stable/hunter
+ slave: lf-virtual5
- parameter:
name: functest-kubernetes-slave
parameters:
- label:
name: slave
- default: functest-virtual
+ default: '{slave}'
- parameter:
name: functest-kubernetes-branch
else
image={repo}:{port}/{container}:{tag}
fi
- sudo docker pull $image
+ docker pull $image
- builder:
name: functest-kubernetes-build-containers
build_arg="--build-arg {ref_arg}={ref}"
fi
cd {path}
- sudo docker build $build_arg \
+ docker build $build_arg \
--pull=false --no-cache --force-rm=true \
-t $image .
builders:
- shell: |
set +ex
- [ ! -z "$WORKSPACE" ] && sudo rm -rf $WORKSPACE/* || true
+ [ ! -z "$WORKSPACE" ] && rm -rf $WORKSPACE/* || true
if [ "{repo}" = "_" ]; then
image={container}:{tag}
elif [ "{port}" = "None" ]; then
else
image={repo}:{port}/{container}:{tag}
fi
- sudo docker run --rm \
+ docker run --rm \
+ -e S3_ENDPOINT_URL=https://storage.googleapis.com \
+ -e S3_DST_URL=s3://artifacts.opnfv.org/functest-kubernetes/$JOB_NAME-$BUILD_ID \
+ -e HTTP_DST_URL=http://artifacts.opnfv.org/functest-kubernetes/$JOB_NAME-$BUILD_ID \
-v $WORKSPACE/../$JOB_NAME/results:/var/lib/xtesting/results \
-e DEPLOY_SCENARIO=k8-nosdn-nofeature-noha \
- -v /home/opnfv/functest-kubernetes/config:/root/.kube/config \
- $image run_tests -t {test}
- res=$?
- gsutil -m cp -r $WORKSPACE/ \
- gs://artifacts.opnfv.org/functest-kubernetes/$JOB_NAME-$BUILD_ID > /dev/null 2>&1
- find $WORKSPACE -type f \
- -printf \
- "http://artifacts.opnfv.org/functest-kubernetes/$JOB_NAME-$BUILD_ID/%P\n"
- exit $res
+ -v /home/opnfv/functest-kubernetes/config.{tag}:/root/.kube/config \
+ -v /home/opnfv/functest-kubernetes/.boto:/root/.boto \
+ $image run_tests -t {test} -p
- builder:
name: functest-kubernetes-remove-images
else
image={repo}:{port}/{container}:{tag}
fi
- sudo docker rmi $image || true
+ docker rmi $image || true
- scm:
name: functest-kubernetes-scm
- job-template:
name: 'functest-kubernetes-{repo}-{container}-{tag}-pull'
parameters:
- - functest-kubernetes-slave
+ - functest-kubernetes-slave:
+ slave: '{slave}'
builders:
- functest-kubernetes-pull-containers:
<<: *functest-kubernetes-containers
jobs:
- 'functest-kubernetes-{repo}-{container}-{tag}-pull'
-- project:
- name: 'functest-kubernetes-opnfv-functest-kubernetes-features-pull'
- <<: *functest-kubernetes-params
- container: 'functest-kubernetes-features'
- jobs:
- - 'functest-kubernetes-{repo}-{container}-{tag}-pull'
-
- job-template:
name: 'functest-kubernetes-{repo}-{container}-{tag}-rmi'
parameters:
- - functest-kubernetes-slave
+ - functest-kubernetes-slave:
+ slave: '{slave}'
builders:
- functest-kubernetes-remove-images:
<<: *functest-kubernetes-containers
jobs:
- 'functest-kubernetes-{repo}-{container}-{tag}-rmi'
-- project:
- name: 'functest-kubernetes-opnfv-functest-kubernetes-features-rmi'
- <<: *functest-kubernetes-params
- container: 'functest-kubernetes-features'
- jobs:
- - 'functest-kubernetes-{repo}-{container}-{tag}-rmi'
-
- job-template:
name: 'functest-kubernetes-{repo}-{container}-{tag}-{test}-run'
parameters:
- - functest-kubernetes-slave
+ - functest-kubernetes-slave:
+ slave: '{slave}'
builders:
- functest-kubernetes-run-containers:
<<: *functest-kubernetes-run-containers
<<: *functest-kubernetes-params
container: 'functest-kubernetes-smoke'
test:
+ - xrally_kubernetes
- k8s_conformance
jobs:
- 'functest-kubernetes-{repo}-{container}-{tag}-{test}-run'
-
-- project:
- name: 'functest-kubernetes-opnfv-functest-kubernetes-features'
- <<: *functest-kubernetes-params
- container: 'functest-kubernetes-features'
- test:
- - stor4nfv_k8s
- - clover_k8s
- jobs:
- - 'functest-kubernetes-{repo}-{container}-{tag}-{test}-run'
+ exclude:
+ - tag: iruya
+ test: xrally_kubernetes
+ - tag: hunter
+ test: xrally_kubernetes
- job-template:
name: 'functest-kubernetes-{tag}-daily'
triggers:
- timed: '@daily'
parameters:
- - functest-kubernetes-slave
+ - functest-kubernetes-slave:
+ slave: '{slave}'
properties:
- build-blocker:
use-build-blocker: true
blocking-level: 'NODE'
blocking-jobs:
- - '^(functest|functest-kubernetes)-[a-z]+-(daily|check|gate)$'
+ - '^functest-kubernetes-{tag}-(daily|check|gate)$'
builders:
- multijob:
name: remove former images
<<: *functest-kubernetes-jobs
- name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-rmi'
<<: *functest-kubernetes-jobs
- - name: 'functest-kubernetes-opnfv-functest-kubernetes-features-{tag}-rmi'
- <<: *functest-kubernetes-jobs
- multijob:
name: pull containers
projects:
<<: *functest-kubernetes-jobs
- name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-pull'
<<: *functest-kubernetes-jobs
- - name: 'functest-kubernetes-opnfv-functest-kubernetes-features-{tag}-pull'
- <<: *functest-kubernetes-jobs
- multijob:
name: opnfv/functest-kubernetes-healthcheck:{tag}
projects:
<<: *functest-kubernetes-jobs
- multijob:
name: opnfv/functest-kubernetes-smoke:{tag}
+ execution-type: SEQUENTIALLY
projects:
- - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-k8s_conformance-run'
- <<: *functest-kubernetes-jobs
- - multijob:
- name: opnfv/functest-kubernetes-features:{tag}
- projects:
- - name: 'functest-kubernetes-opnfv-functest-kubernetes-features-{tag}-stor4nfv_k8s-run'
+ - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-xrally_kubernetes-run'
<<: *functest-kubernetes-jobs
- - name: 'functest-kubernetes-opnfv-functest-kubernetes-features-{tag}-clover_k8s-run'
+ - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-k8s_conformance-run'
<<: *functest-kubernetes-jobs
- job-template:
name: 'functest-kubernetes-{repo}-{container}-{tag}-gate'
parameters:
- - functest-kubernetes-slave
+ - functest-kubernetes-slave:
+ slave: '{slave}'
scm:
- functest-kubernetes-scm:
ref: $GERRIT_REFSPEC
- job-template:
name: 'functest-kubernetes-{repo}-{container}-{tag}-check'
parameters:
- - functest-kubernetes-slave
+ - functest-kubernetes-slave:
+ slave: '{slave}'
- functest-kubernetes-branch:
branch: '{branch}'
scm:
ref: $branch
- project:
- name: 'functest-kubernetes-_-golang-alpine3.9-rmi'
+ name: 'functest-kubernetes-_-golang-1.12-alpine3.10-rmi'
repo: _
port:
container: golang
- tag: alpine3.9
+ tag: '1.12-alpine3.10'
+ slave: master
jobs:
- 'functest-kubernetes-{repo}-{container}-{tag}-rmi'
- project:
- name: 'functest-kubernetes-_-golang-alpine3.9-pull'
+ name: 'functest-kubernetes-_-golang-1.12-alpine3.10-pull'
repo: _
port:
container: golang
- tag: alpine3.9
+ tag: '1.12-alpine3.10'
+ slave: master
jobs:
- 'functest-kubernetes-{repo}-{container}-{tag}-pull'
- 'functest-kubernetes-{repo}-{container}-{tag}-gate'
- 'functest-kubernetes-{repo}-{container}-{tag}-check'
-- project:
- name: functest-kubernetes-opnfv-functest-kubernetes-features-{tag}-build
- <<: *functest-kubernetes-params
- container: functest-kubernetes-features
- ref_arg:
- path: docker/features
- jobs:
- - 'functest-kubernetes-{repo}-{container}-{tag}-gate'
- - 'functest-kubernetes-{repo}-{container}-{tag}-check'
-
- job-template:
name: 'functest-kubernetes-{tag}-check'
project-type: multijob
parameters:
- - functest-kubernetes-slave
+ - functest-kubernetes-slave:
+ slave: '{slave}'
- functest-kubernetes-branch:
branch: '{branch}'
properties:
use-build-blocker: true
blocking-level: 'NODE'
blocking-jobs:
- - '^(functest|functest-kubernetes)-[a-z]+-(daily|check|gate)$'
+ - '^functest-kubernetes-{tag}-(daily|check|gate)$'
builders:
- multijob:
name: remove former images
<<: *functest-kubernetes-jobs
- name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-rmi'
<<: *functest-kubernetes-jobs
- - name: 'functest-kubernetes-opnfv-functest-kubernetes-features-{tag}-rmi'
- <<: *functest-kubernetes-jobs
- multijob:
name: remove dependencies
projects:
- - name: 'functest-kubernetes-_-golang-alpine3.9-rmi'
+ - name: 'functest-kubernetes-_-golang-1.12-alpine3.10-rmi'
<<: *functest-kubernetes-jobs
- multijob:
name: pull dependencies
projects:
- - name: 'functest-kubernetes-_-golang-alpine3.9-pull'
+ - name: 'functest-kubernetes-_-golang-1.12-alpine3.10-pull'
<<: *functest-kubernetes-jobs
- multijob:
name: build opnfv/functest-kubernetes-core
projects:
- name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-check'
<<: *functest-kubernetes-jobs
- - name: 'functest-kubernetes-opnfv-functest-kubernetes-features-{tag}-check'
- <<: *functest-kubernetes-jobs
- multijob:
name: opnfv/functest-kubernetes-healthcheck:{tag}
projects:
<<: *functest-kubernetes-jobs
- multijob:
name: opnfv/functest-kubernetes-smoke:{tag}
+ execution-type: SEQUENTIALLY
projects:
- - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-k8s_conformance-run'
- <<: *functest-kubernetes-jobs
- - multijob:
- name: opnfv/functest-kubernetes-features:{tag}
- projects:
- - name: 'functest-kubernetes-opnfv-functest-kubernetes-features-{tag}-stor4nfv_k8s-run'
+ - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-xrally_kubernetes-run'
<<: *functest-kubernetes-jobs
- - name: 'functest-kubernetes-opnfv-functest-kubernetes-features-{tag}-clover_k8s-run'
+ - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-k8s_conformance-run'
<<: *functest-kubernetes-jobs
- trigger:
- functest-kubernetes-patchset-created:
branch: '{branch}'
parameters:
- - functest-kubernetes-slave
+ - functest-kubernetes-slave:
+ slave: '{slave}'
properties:
- build-blocker:
use-build-blocker: true
blocking-level: 'NODE'
blocking-jobs:
- - '^(functest|functest-kubernetes)-[a-z]+-(daily|check|gate)$'
+ - '^functest-kubernetes-{tag}-(daily|check|gate)$'
builders:
- multijob:
name: remove former images
<<: *functest-kubernetes-jobs
- name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-rmi'
<<: *functest-kubernetes-jobs
- - name: 'functest-kubernetes-opnfv-functest-kubernetes-features-{tag}-rmi'
- <<: *functest-kubernetes-jobs
- multijob:
name: remove dependencies
projects:
- - name: 'functest-kubernetes-_-golang-alpine3.9-rmi'
+ - name: 'functest-kubernetes-_-golang-1.12-alpine3.10-rmi'
<<: *functest-kubernetes-jobs
- multijob:
name: pull dependencies
projects:
- - name: 'functest-kubernetes-_-golang-alpine3.9-pull'
+ - name: 'functest-kubernetes-_-golang-1.12-alpine3.10-pull'
<<: *functest-kubernetes-jobs
- multijob:
name: build opnfv/functest-kubernetes-core
projects:
- name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-gate'
<<: *functest-kubernetes-jobs
- - name: 'functest-kubernetes-opnfv-functest-kubernetes-features-{tag}-gate'
- <<: *functest-kubernetes-jobs
- multijob:
name: opnfv/functest-kubernetes-healthcheck:{tag}
projects:
<<: *functest-kubernetes-jobs
- multijob:
name: opnfv/functest-kubernetes-smoke:{tag}
+ execution-type: SEQUENTIALLY
projects:
- - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-k8s_conformance-run'
+ - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-xrally_kubernetes-run'
<<: *functest-kubernetes-jobs
- - multijob:
- name: opnfv/functest-kubernetes-features:{tag}
- projects:
- - name: 'functest-kubernetes-opnfv-functest-kubernetes-features-{tag}-stor4nfv_k8s-run'
- <<: *functest-kubernetes-jobs
- - name: 'functest-kubernetes-opnfv-functest-kubernetes-features-{tag}-clover_k8s-run'
+ - name: 'functest-kubernetes-opnfv-functest-kubernetes-smoke-{tag}-k8s_conformance-run'
<<: *functest-kubernetes-jobs
- project:
---
-###################################################
-# All the jobs except verify have been removed!
-# They will only be enabled on request by projects!
-###################################################
-- project:
- name: functest-project-jobs
-
- project: 'functest'
-
- jobs:
- - 'functest-verify-{stream}'
- - 'functest-verify-{phase}-{stream}'
-
- stream:
- - master:
- branch: '{stream}'
- gs-pathname: ''
- disabled: false
+- functest-project-params: &functest-project-params
+ name: 'functest-project-params'
+ tag:
+ - latest:
+ branch: master
+ slave: lf-virtual9
+ - jerma:
+ branch: stable/jerma
+ slave: lf-virtual4
- iruya:
- branch: 'stable/{stream}'
- gs-pathname: ''
- disabled: false
+ branch: stable/iruya
+ slave: lf-virtual4
- hunter:
- branch: 'stable/{stream}'
- gs-pathname: ''
- disabled: false
- - gambia:
- branch: 'stable/{stream}'
- gs-pathname: ''
- disabled: false
-
- phase:
- - 'unit-tests-and-docs':
- slave-label: 'opnfv-build-ubuntu'
-
-- job-template:
- name: 'functest-verify-{stream}'
-
- disabled: '{obj:disabled}'
-
- project-type: 'multijob'
-
- parameters:
- - project-parameter:
- project: '{project}'
- branch: '{branch}'
- - 'opnfv-build-ubuntu-defaults'
-
- scm:
- - git-scm-gerrit
-
- triggers:
- - 'functest-verify-triggers-macro':
- project: '{project}'
- branch: '{branch}'
-
- builders:
- - shell: |
- #!/bin/bash
- # we do nothing here as the main stuff will be done
- # in phase jobs
- echo "Triggering phase jobs!"
- - multijob:
- name: 'functest-build-and-unittest'
- execution-type: PARALLEL
- projects:
- - name: 'functest-verify-unit-tests-and-docs-{stream}'
- current-parameters: false
- predefined-parameters: |
- GERRIT_BRANCH=$GERRIT_BRANCH
- GERRIT_REFSPEC=$GERRIT_REFSPEC
- GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
- GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
- git-revision: true
- node-parameters: false
- kill-phase-on: FAILURE
- abort-all-job: false
-
-- job-template:
- name: 'functest-verify-{phase}-{stream}'
-
- disabled: '{obj:disabled}'
-
- wrappers:
- - ssh-agent-wrapper
- - build-timeout:
- timeout: 60
-
- parameters:
- - project-parameter:
- project: '{project}'
- branch: '{branch}'
- - '{slave-label}-defaults'
-
- scm:
- - git-scm-gerrit
+ branch: stable/hunter
+ slave: lf-virtual6
+- builder:
+ name: functest-run-tox
builders:
- - 'functest-verify-{phase}-builders-macro'
-
- publishers:
- - 'functest-verify-{phase}-publishers-macro'
+ - shell: tox
-################################
-# job triggers
-################################
- trigger:
- name: 'functest-verify-triggers-macro'
+ name: functest-project-patchset-created
triggers:
- gerrit:
server-name: 'gerrit.opnfv.org'
trigger-on:
- - patchset-created-event:
- exclude-drafts: 'false'
- exclude-trivial-rebase: 'false'
- exclude-no-code-change: 'false'
- - draft-published-event
+ - patchset-created-event
- comment-added-contains-event:
comment-contains-value: 'recheck'
- comment-added-contains-event:
comment-contains-value: 'reverify'
projects:
- project-compare-type: 'ANT'
- project-pattern: '{project}'
+ project-pattern: 'functest'
branches:
- branch-compare-type: 'ANT'
branch-pattern: '**/{branch}'
- disable-strict-forbidden-file-verification: 'true'
- forbidden-file-paths:
- - compare-type: ANT
- pattern: 'docs/**|.gitignore'
+ skip-vote:
+ successful: false
+ failed: false
+ unstable: false
+ notbuilt: false
+
+- parameter:
+ name: functest-project-slave
+ parameters:
+ - label:
+ name: slave
+ default: '{slave}'
-################################
-# job builders
-################################
+- scm:
+ name: functest-project-scm
+ scm:
+ - git:
+ url: https://gerrit.opnfv.org/gerrit/functest
+ refspec: '+refs/changes/*:refs/changes/*'
+ branches:
+ - '{ref}'
-- builder:
- name: 'functest-verify-unit-tests-and-docs-builders-macro'
+- job-template:
+ name: 'functest-run-tox-{tag}'
+ triggers:
+ - functest-project-patchset-created:
+ branch: '{branch}'
+ scm:
+ - functest-project-scm:
+ ref: $GERRIT_REFSPEC
+ parameters:
+ - functest-project-slave:
+ slave: '{slave}'
builders:
- - shell: |
- cd $WORKSPACE && tox
+ - functest-run-tox
-################################
-# job publishers
-################################
-- publisher:
- name: 'functest-verify-unit-tests-and-docs-publishers-macro'
- publishers:
- - junit:
- results: nosetests.xml
- - cobertura:
- report-file: "coverage.xml"
- only-stable: "true"
- health-auto-update: "true"
- stability-auto-update: "true"
- zoom-coverage-chart: "true"
- targets:
- - files:
- healthy: 10
- unhealthy: 20
- failing: 30
- - method:
- healthy: 50
- unhealthy: 40
- failing: 30
- - email-jenkins-admins-on-failure
+- project:
+ name: 'functest-run-tox'
+ <<: *functest-project-params
+ jobs:
+ - 'functest-run-tox-{tag}'
+++ /dev/null
----
-- project:
- name: functest-rtd
- project: functest
- project-name: functest
-
- gerrit-skip-vote: true
- project-pattern: 'functest'
- rtd-build-url: 'https://readthedocs.org/api/v2/webhook/opnfv-functest/47369/'
- rtd-token: '26f9131bd5c337928ba8b431a289f6850b330504'
-
- stream:
- - master:
- branch: '{stream}'
- disabled: false
- - gambia:
- branch: 'stable/{stream}'
- disabled: false
-
- jobs:
- - '{project-name}-rtd-jobs'
- latest:
branch: master
slave: lf-virtual9
+ dashboard_url: http://172.30.13.94
+ - jerma:
+ branch: stable/jerma
+ slave: lf-virtual4
+ dashboard_url: http://172.30.13.89
- iruya:
branch: stable/iruya
slave: lf-virtual4
+ dashboard_url: http://172.30.13.89
- hunter:
branch: stable/hunter
slave: lf-virtual6
+ dashboard_url: http://172.30.13.91
- parameter:
name: functest-slave
name: branch
default: '{branch}'
+- parameter:
+ name: functest-DEBUG
+ parameters:
+ - string:
+ name: DEBUG
+ default: 'true'
+
+- parameter:
+ name: functest-EXTERNAL_NETWORK
+ parameters:
+ - string:
+ name: EXTERNAL_NETWORK
+ default: public
+
- functest-containers: &functest-containers
name: 'functest-containers'
repo: '{repo}'
tag: '{tag}'
- functest-run-containers: &functest-run-containers
- name: 'functest-build-containers'
+ name: 'functest-run-containers'
<<: *functest-containers
test: '{test}'
+ dashboard_url: '{dashboard_url}'
- functest-build-containers: &functest-build-containers
name: 'functest-build-containers'
name: functest-run-containers
builders:
- shell: |
- set +ex
+ set +x
[ ! -z "$WORKSPACE" ] && sudo rm -rf $WORKSPACE/* || true
if [ "{repo}" = "_" ]; then
image={container}:{tag}
else
image={repo}:{port}/{container}:{tag}
fi
+ if [ "{tag}" = "latest" ]; then
+ py=3.7
+ elif [ "{tag}" = "jerma" ]; then
+ py=3.7
+ elif [ "{tag}" = "iruya" ]; then
+ py=3.6
+ else
+ py=2.7
+ fi
sudo docker run --rm \
+ -e S3_ENDPOINT_URL=https://storage.googleapis.com \
+ -e S3_DST_URL=s3://artifacts.opnfv.org/functest/$JOB_NAME-$BUILD_ID \
+ -e HTTP_DST_URL=http://artifacts.opnfv.org/functest/$JOB_NAME-$BUILD_ID \
-v $WORKSPACE/../$JOB_NAME/results:/var/lib/xtesting/results \
- -e DEBUG=True \
- -e EXTERNAL_NETWORK=public \
- -e DEBUG=true \
+ -e DEBUG=$DEBUG \
+ -e EXTERNAL_NETWORK=$EXTERNAL_NETWORK \
+ -e DASHBOARD_URL={dashboard_url} \
-v /home/opnfv/functest/openstack.creds:/home/opnfv/functest/conf/env_file \
-v /home/opnfv/functest/images:/home/opnfv/functest/images \
- -v /home/opnfv/functest/blacklist.yaml:/usr/lib/python2.7/\
+ -v /home/opnfv/functest/tempest_blacklist.yaml:/usr/lib/python$py/\
+ site-packages/functest/opnfv_tests/openstack/tempest/custom_tests/\
+ blacklist.yaml \
+ -v /home/opnfv/functest/blacklist.yaml:/usr/lib/python$py/\
site-packages/functest/opnfv_tests/openstack/rally/blacklist.yaml \
- $image run_tests -t {test}
- res=$?
- gsutil -m cp -r $WORKSPACE/ \
- gs://artifacts.opnfv.org/functest/$JOB_NAME-$BUILD_ID > /dev/null 2>&1
- find $WORKSPACE -type f \
- -printf \
- "http://artifacts.opnfv.org/functest/$JOB_NAME-$BUILD_ID/%P\n"
- exit $res
+ -v /home/opnfv/functest/.boto:/root/.boto \
+ $image run_tests -t {test} -p
- builder:
name: functest-remove-images
- 'functest-{repo}-{container}-{tag}-pull'
- project:
- name: 'functest-opnfv-functest-benchmarking-pull'
+ name: 'functest-opnfv-functest-smoke-cntt-pull'
<<: *functest-params
- container: 'functest-benchmarking'
+ container: 'functest-smoke-cntt'
jobs:
- 'functest-{repo}-{container}-{tag}-pull'
- project:
- name: 'functest-opnfv-functest-vnf-pull'
+ name: 'functest-opnfv-functest-benchmarking-pull'
<<: *functest-params
- container: 'functest-vnf'
+ container: 'functest-benchmarking'
jobs:
- 'functest-{repo}-{container}-{tag}-pull'
- project:
- name: 'functest-opnfv-functest-features-pull'
+ name: 'functest-opnfv-functest-vnf-pull'
<<: *functest-params
- container: 'functest-features'
+ container: 'functest-vnf'
jobs:
- 'functest-{repo}-{container}-{tag}-pull'
- 'functest-{repo}-{container}-{tag}-rmi'
- project:
- name: 'functest-opnfv-functest-benchmarking-rmi'
+ name: 'functest-opnfv-functest-smoke-cntt-rmi'
<<: *functest-params
- container: 'functest-benchmarking'
+ container: 'functest-smoke-cntt'
jobs:
- 'functest-{repo}-{container}-{tag}-rmi'
- project:
- name: 'functest-opnfv-functest-vnf-rmi'
+ name: 'functest-opnfv-functest-benchmarking-rmi'
<<: *functest-params
- container: 'functest-vnf'
+ container: 'functest-benchmarking'
jobs:
- 'functest-{repo}-{container}-{tag}-rmi'
- project:
- name: 'functest-opnfv-functest-features-rmi'
+ name: 'functest-opnfv-functest-vnf-rmi'
<<: *functest-params
- container: 'functest-features'
+ container: 'functest-vnf'
jobs:
- 'functest-{repo}-{container}-{tag}-rmi'
parameters:
- functest-slave:
slave: '{slave}'
+ - functest-DEBUG:
+ DEBUG: 'true'
+ - functest-EXTERNAL_NETWORK:
+ EXTERNAL_NETWORK: public
builders:
- functest-run-containers:
<<: *functest-run-containers
- cinder_test
- odl
- tempest_smoke
+ - tempest_horizon
+ exclude:
+ - tag: hunter
+ test: tempest_horizon
jobs:
- 'functest-{repo}-{container}-{tag}-{test}-run'
container: 'functest-smoke'
test:
- neutron-tempest-plugin-api
+ - tempest_cinder
+ - tempest_keystone
- rally_sanity
- refstack_defcore
+ - refstack_compute
+ - refstack_object
+ - refstack_platform
- tempest_full
- tempest_scenario
+ - tempest_slow
- patrole
- neutron_trunk
- networking-bgpvpn
- networking-sfc
- barbican
+ - octavia
+ exclude:
+ - tag: latest
+ test: refstack_defcore
+ - tag: jerma
+ test: refstack_defcore
+ - tag: iruya
+ test: refstack_defcore
+ - tag: iruya
+ test: octavia
+ - tag: hunter
+ test: refstack_compute
+ - tag: hunter
+ test: refstack_object
+ - tag: hunter
+ test: refstack_platform
+ - tag: hunter
+ test: octavia
+ jobs:
+ - 'functest-{repo}-{container}-{tag}-{test}-run'
+
+- project:
+ name: 'functest-opnfv-functest-smoke-cntt'
+ <<: *functest-params
+ container: 'functest-smoke-cntt'
+ test:
+ - neutron-tempest-plugin-api
+ - tempest_cinder
+ - tempest_keystone
+ - rally_sanity
+ - tempest_full
+ - tempest_scenario
+ - tempest_slow
jobs:
- 'functest-{repo}-{container}-{tag}-{test}-run'
jobs:
- 'functest-{repo}-{container}-{tag}-{test}-run'
-- project:
- name: 'functest-opnfv-functest-features'
- <<: *functest-params
- container: 'functest-features'
- test:
- - doctor-notification
- - functest-odl-sfc
- - barometercollectd
- - vgpu
- - stor4nfv_os
- jobs:
- - 'functest-{repo}-{container}-{tag}-{test}-run'
-
- job-template:
name: 'functest-{tag}-daily'
project-type: multijob
parameters:
- functest-slave:
slave: '{slave}'
+ - functest-DEBUG:
+ DEBUG: 'true'
+ - functest-EXTERNAL_NETWORK:
+ EXTERNAL_NETWORK: public
properties:
- build-blocker:
use-build-blocker: true
<<: *functest-jobs
- name: 'functest-opnfv-functest-smoke-{tag}-rmi'
<<: *functest-jobs
+ - name: 'functest-opnfv-functest-smoke-cntt-{tag}-rmi'
+ <<: *functest-jobs
- name: 'functest-opnfv-functest-benchmarking-{tag}-rmi'
<<: *functest-jobs
- name: 'functest-opnfv-functest-vnf-{tag}-rmi'
<<: *functest-jobs
- - name: 'functest-opnfv-functest-features-{tag}-rmi'
- <<: *functest-jobs
- multijob:
name: pull containers
projects:
<<: *functest-jobs
- name: 'functest-opnfv-functest-smoke-{tag}-pull'
<<: *functest-jobs
+ - name: 'functest-opnfv-functest-smoke-cntt-{tag}-pull'
+ <<: *functest-jobs
- name: 'functest-opnfv-functest-benchmarking-{tag}-pull'
<<: *functest-jobs
- name: 'functest-opnfv-functest-vnf-{tag}-pull'
<<: *functest-jobs
- - name: 'functest-opnfv-functest-features-{tag}-pull'
- <<: *functest-jobs
- multijob:
name: opnfv/functest-healthcheck:{tag}
projects:
<<: *functest-jobs
- name: 'functest-opnfv-functest-healthcheck-{tag}-tempest_smoke-run'
<<: *functest-jobs
+ - name: 'functest-opnfv-functest-healthcheck-{tag}-tempest_horizon-run'
+ <<: *functest-jobs
- multijob:
name: opnfv/functest-smoke:{tag}
projects:
- name: 'functest-opnfv-functest-smoke-{tag}-neutron-tempest-plugin-api-run'
<<: *functest-jobs
+ - name: 'functest-opnfv-functest-smoke-{tag}-tempest_cinder-run'
+ <<: *functest-jobs
+ - name: 'functest-opnfv-functest-smoke-{tag}-tempest_keystone-run'
+ <<: *functest-jobs
- name: 'functest-opnfv-functest-smoke-{tag}-rally_sanity-run'
<<: *functest-jobs
- name: 'functest-opnfv-functest-smoke-{tag}-refstack_defcore-run'
<<: *functest-jobs
+ - name: 'functest-opnfv-functest-smoke-{tag}-refstack_compute-run'
+ <<: *functest-jobs
+ - name: 'functest-opnfv-functest-smoke-{tag}-refstack_object-run'
+ <<: *functest-jobs
+ - name: 'functest-opnfv-functest-smoke-{tag}-refstack_platform-run'
+ <<: *functest-jobs
- name: 'functest-opnfv-functest-smoke-{tag}-tempest_full-run'
<<: *functest-jobs
- name: 'functest-opnfv-functest-smoke-{tag}-tempest_scenario-run'
<<: *functest-jobs
+ - name: 'functest-opnfv-functest-smoke-{tag}-tempest_slow-run'
+ <<: *functest-jobs
- name: 'functest-opnfv-functest-smoke-{tag}-patrole-run'
<<: *functest-jobs
- name: 'functest-opnfv-functest-smoke-{tag}-neutron_trunk-run'
<<: *functest-jobs
- name: 'functest-opnfv-functest-smoke-{tag}-barbican-run'
<<: *functest-jobs
+ - name: 'functest-opnfv-functest-smoke-{tag}-octavia-run'
+ <<: *functest-jobs
+ - multijob:
+ name: opnfv/functest-smoke-cntt:{tag}
+ projects:
+ - name: 'functest-opnfv-functest-smoke-cntt-{tag}-neutron-tempest-plugin-api-run'
+ <<: *functest-jobs
+ - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_cinder-run'
+ <<: *functest-jobs
+ - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_keystone-run'
+ <<: *functest-jobs
+ - name: 'functest-opnfv-functest-smoke-cntt-{tag}-rally_sanity-run'
+ <<: *functest-jobs
+ - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_full-run'
+ <<: *functest-jobs
+ - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_scenario-run'
+ <<: *functest-jobs
+ - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_slow-run'
+ <<: *functest-jobs
- multijob:
name: opnfv/functest-benchmarking:{tag}
projects:
<<: *functest-jobs
- name: 'functest-opnfv-functest-vnf-{tag}-juju_epc-run'
<<: *functest-jobs
- - multijob:
- name: opnfv/functest-features:{tag}
- projects:
- - name: 'functest-opnfv-functest-features-{tag}-doctor-notification-run'
- <<: *functest-jobs
- - name: 'functest-opnfv-functest-features-{tag}-functest-odl-sfc-run'
- <<: *functest-jobs
- - name: 'functest-opnfv-functest-features-{tag}-barometercollectd-run'
- <<: *functest-jobs
- - name: 'functest-opnfv-functest-features-{tag}-vgpu-run'
- <<: *functest-jobs
- - name: 'functest-opnfv-functest-features-{tag}-stor4nfv_os-run'
- <<: *functest-jobs
- job-template:
name: 'functest-{repo}-{container}-{tag}-gate'
ref: $branch
- project:
- name: 'functest-_-alpine-3.9-rmi'
+ name: 'functest-_-alpine-3.10-rmi'
repo: _
port:
container: alpine
- tag: 3.9
+ tag: '3.10'
slave: master
jobs:
- 'functest-{repo}-{container}-{tag}-rmi'
- project:
- name: 'functest-_-alpine-3.9-pull'
+ name: 'functest-_-alpine-3.10-pull'
repo: _
port:
container: alpine
- tag: 3.9
+ tag: '3.10'
slave: master
jobs:
- 'functest-{repo}-{container}-{tag}-pull'
jobs:
- 'functest-{repo}-{container}-{tag}-gate'
- 'functest-{repo}-{container}-{tag}-check'
+ exclude:
+ - tag: latest
+ - tag: jerma
- project:
name: functest-opnfv-functest-healthcheck-{tag}-build
- 'functest-{repo}-{container}-{tag}-check'
- project:
- name: functest-opnfv-functest-features-{tag}-build
+ name: functest-opnfv-functest-smoke-cntt-{tag}-build
<<: *functest-params
- container: functest-features
+ container: functest-smoke-cntt
ref_arg: BRANCH
- path: docker/features
+ path: docker/smoke-cntt
jobs:
- 'functest-{repo}-{container}-{tag}-gate'
- 'functest-{repo}-{container}-{tag}-check'
slave: '{slave}'
- functest-branch:
branch: '{branch}'
+ - functest-DEBUG:
+ DEBUG: 'true'
+ - functest-EXTERNAL_NETWORK:
+ EXTERNAL_NETWORK: public
properties:
- build-blocker:
use-build-blocker: true
<<: *functest-jobs
- name: 'functest-opnfv-functest-smoke-{tag}-rmi'
<<: *functest-jobs
+ - name: 'functest-opnfv-functest-smoke-cntt-{tag}-rmi'
+ <<: *functest-jobs
- name: 'functest-opnfv-functest-benchmarking-{tag}-rmi'
<<: *functest-jobs
- name: 'functest-opnfv-functest-vnf-{tag}-rmi'
<<: *functest-jobs
- - name: 'functest-opnfv-functest-features-{tag}-rmi'
- <<: *functest-jobs
- multijob:
name: remove dependencies
projects:
- - name: 'functest-_-alpine-3.9-rmi'
+ - name: 'functest-_-alpine-3.10-rmi'
<<: *functest-jobs
- multijob:
name: pull dependencies
projects:
- - name: 'functest-_-alpine-3.9-pull'
+ - name: 'functest-_-alpine-3.10-pull'
<<: *functest-jobs
- multijob:
name: build opnfv/functest-core
<<: *functest-jobs
- name: 'functest-opnfv-functest-vnf-{tag}-check'
<<: *functest-jobs
- - name: 'functest-opnfv-functest-features-{tag}-check'
+ - multijob:
+ name: build opnfv/functest-smoke-cntt
+ projects:
+ - name: 'functest-opnfv-functest-smoke-cntt-{tag}-check'
<<: *functest-jobs
- multijob:
name: opnfv/functest-healthcheck:{tag}
<<: *functest-jobs
- name: 'functest-opnfv-functest-healthcheck-{tag}-tempest_smoke-run'
<<: *functest-jobs
+ - name: 'functest-opnfv-functest-healthcheck-{tag}-tempest_horizon-run'
+ <<: *functest-jobs
- multijob:
name: opnfv/functest-smoke:{tag}
projects:
- name: 'functest-opnfv-functest-smoke-{tag}-neutron-tempest-plugin-api-run'
<<: *functest-jobs
+ - name: 'functest-opnfv-functest-smoke-{tag}-tempest_cinder-run'
+ <<: *functest-jobs
+ - name: 'functest-opnfv-functest-smoke-{tag}-tempest_keystone-run'
+ <<: *functest-jobs
- name: 'functest-opnfv-functest-smoke-{tag}-rally_sanity-run'
<<: *functest-jobs
- name: 'functest-opnfv-functest-smoke-{tag}-refstack_defcore-run'
<<: *functest-jobs
+ - name: 'functest-opnfv-functest-smoke-{tag}-refstack_compute-run'
+ <<: *functest-jobs
+ - name: 'functest-opnfv-functest-smoke-{tag}-refstack_object-run'
+ <<: *functest-jobs
+ - name: 'functest-opnfv-functest-smoke-{tag}-refstack_platform-run'
+ <<: *functest-jobs
- name: 'functest-opnfv-functest-smoke-{tag}-tempest_full-run'
<<: *functest-jobs
- name: 'functest-opnfv-functest-smoke-{tag}-tempest_scenario-run'
<<: *functest-jobs
+ - name: 'functest-opnfv-functest-smoke-{tag}-tempest_slow-run'
+ <<: *functest-jobs
- name: 'functest-opnfv-functest-smoke-{tag}-patrole-run'
<<: *functest-jobs
- name: 'functest-opnfv-functest-smoke-{tag}-neutron_trunk-run'
<<: *functest-jobs
- name: 'functest-opnfv-functest-smoke-{tag}-barbican-run'
<<: *functest-jobs
+ - name: 'functest-opnfv-functest-smoke-{tag}-octavia-run'
+ <<: *functest-jobs
+ - multijob:
+ name: opnfv/functest-smoke-cntt:{tag}
+ projects:
+ - name: 'functest-opnfv-functest-smoke-cntt-{tag}-neutron-tempest-plugin-api-run'
+ <<: *functest-jobs
+ - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_cinder-run'
+ <<: *functest-jobs
+ - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_keystone-run'
+ <<: *functest-jobs
+ - name: 'functest-opnfv-functest-smoke-cntt-{tag}-rally_sanity-run'
+ <<: *functest-jobs
+ - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_full-run'
+ <<: *functest-jobs
+ - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_scenario-run'
+ <<: *functest-jobs
+ - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_slow-run'
+ <<: *functest-jobs
- multijob:
name: opnfv/functest-benchmarking:{tag}
projects:
<<: *functest-jobs
- name: 'functest-opnfv-functest-vnf-{tag}-juju_epc-run'
<<: *functest-jobs
- - multijob:
- name: opnfv/functest-features:{tag}
- projects:
- - name: 'functest-opnfv-functest-features-{tag}-doctor-notification-run'
- <<: *functest-jobs
- - name: 'functest-opnfv-functest-features-{tag}-functest-odl-sfc-run'
- <<: *functest-jobs
- - name: 'functest-opnfv-functest-features-{tag}-barometercollectd-run'
- <<: *functest-jobs
- - name: 'functest-opnfv-functest-features-{tag}-vgpu-run'
- <<: *functest-jobs
- - name: 'functest-opnfv-functest-features-{tag}-stor4nfv_os-run'
- <<: *functest-jobs
- trigger:
name: functest-patchset-created
parameters:
- functest-slave:
slave: '{slave}'
+ - functest-DEBUG:
+ DEBUG: 'true'
+ - functest-EXTERNAL_NETWORK:
+ EXTERNAL_NETWORK: public
properties:
- build-blocker:
use-build-blocker: true
<<: *functest-jobs
- name: 'functest-opnfv-functest-smoke-{tag}-rmi'
<<: *functest-jobs
+ - name: 'functest-opnfv-functest-smoke-cntt-{tag}-rmi'
+ <<: *functest-jobs
- name: 'functest-opnfv-functest-benchmarking-{tag}-rmi'
<<: *functest-jobs
- name: 'functest-opnfv-functest-vnf-{tag}-rmi'
<<: *functest-jobs
- - name: 'functest-opnfv-functest-features-{tag}-rmi'
- <<: *functest-jobs
- multijob:
name: remove dependencies
projects:
- - name: 'functest-_-alpine-3.9-rmi'
+ - name: 'functest-_-alpine-3.10-rmi'
<<: *functest-jobs
- multijob:
name: pull dependencies
projects:
- - name: 'functest-_-alpine-3.9-pull'
+ - name: 'functest-_-alpine-3.10-pull'
<<: *functest-jobs
- multijob:
name: build opnfv/functest-core
<<: *functest-jobs
- name: 'functest-opnfv-functest-vnf-{tag}-gate'
<<: *functest-jobs
- - name: 'functest-opnfv-functest-features-{tag}-gate'
+ - multijob:
+ name: build opnfv/functest-smoke-cntt
+ projects:
+ - name: 'functest-opnfv-functest-smoke-cntt-{tag}-gate'
<<: *functest-jobs
- multijob:
name: opnfv/functest-healthcheck:{tag}
<<: *functest-jobs
- name: 'functest-opnfv-functest-healthcheck-{tag}-tempest_smoke-run'
<<: *functest-jobs
+ - name: 'functest-opnfv-functest-healthcheck-{tag}-tempest_horizon-run'
+ <<: *functest-jobs
- multijob:
name: opnfv/functest-smoke:{tag}
projects:
- name: 'functest-opnfv-functest-smoke-{tag}-neutron-tempest-plugin-api-run'
<<: *functest-jobs
+ - name: 'functest-opnfv-functest-smoke-{tag}-tempest_cinder-run'
+ <<: *functest-jobs
+ - name: 'functest-opnfv-functest-smoke-{tag}-tempest_keystone-run'
+ <<: *functest-jobs
- name: 'functest-opnfv-functest-smoke-{tag}-rally_sanity-run'
<<: *functest-jobs
- name: 'functest-opnfv-functest-smoke-{tag}-refstack_defcore-run'
<<: *functest-jobs
+ - name: 'functest-opnfv-functest-smoke-{tag}-refstack_compute-run'
+ <<: *functest-jobs
+ - name: 'functest-opnfv-functest-smoke-{tag}-refstack_object-run'
+ <<: *functest-jobs
+ - name: 'functest-opnfv-functest-smoke-{tag}-refstack_platform-run'
+ <<: *functest-jobs
- name: 'functest-opnfv-functest-smoke-{tag}-tempest_full-run'
<<: *functest-jobs
- name: 'functest-opnfv-functest-smoke-{tag}-tempest_scenario-run'
<<: *functest-jobs
+ - name: 'functest-opnfv-functest-smoke-{tag}-tempest_slow-run'
+ <<: *functest-jobs
- name: 'functest-opnfv-functest-smoke-{tag}-patrole-run'
<<: *functest-jobs
- name: 'functest-opnfv-functest-smoke-{tag}-neutron_trunk-run'
<<: *functest-jobs
- name: 'functest-opnfv-functest-smoke-{tag}-barbican-run'
<<: *functest-jobs
+ - name: 'functest-opnfv-functest-smoke-{tag}-octavia-run'
+ <<: *functest-jobs
+ - multijob:
+ name: opnfv/functest-smoke-cntt:{tag}
+ projects:
+ - name: 'functest-opnfv-functest-smoke-cntt-{tag}-neutron-tempest-plugin-api-run'
+ <<: *functest-jobs
+ - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_cinder-run'
+ <<: *functest-jobs
+ - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_keystone-run'
+ <<: *functest-jobs
+ - name: 'functest-opnfv-functest-smoke-cntt-{tag}-rally_sanity-run'
+ <<: *functest-jobs
+ - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_full-run'
+ <<: *functest-jobs
+ - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_scenario-run'
+ <<: *functest-jobs
+ - name: 'functest-opnfv-functest-smoke-cntt-{tag}-tempest_slow-run'
+ <<: *functest-jobs
- multijob:
name: opnfv/functest-benchmarking:{tag}
projects:
<<: *functest-jobs
- name: 'functest-opnfv-functest-vnf-{tag}-juju_epc-run'
<<: *functest-jobs
- - multijob:
- name: opnfv/functest-features:{tag}
- projects:
- - name: 'functest-opnfv-functest-features-{tag}-doctor-notification-run'
- <<: *functest-jobs
- - name: 'functest-opnfv-functest-features-{tag}-functest-odl-sfc-run'
- <<: *functest-jobs
- - name: 'functest-opnfv-functest-features-{tag}-barometercollectd-run'
- <<: *functest-jobs
- - name: 'functest-opnfv-functest-features-{tag}-vgpu-run'
- <<: *functest-jobs
- - name: 'functest-opnfv-functest-features-{tag}-stor4nfv_os-run'
- <<: *functest-jobs
- project:
name: 'functest'
- master:
branch: '{stream}'
disabled: false
- - iruya:
+ - jerma:
branch: 'stable/{stream}'
disabled: false
- - hunter:
+ - iruya:
branch: 'stable/{stream}'
disabled: false
- - gambia:
+ - hunter:
branch: 'stable/{stream}'
disabled: false
---
-###################################################
-# All the jobs except verify have been removed!
-# They will only be enabled on request by projects!
-###################################################
-- project:
- name: xtesting-project-jobs
-
- project: 'functest-xtesting'
-
- jobs:
- - 'xtesting-verify-{stream}'
- - 'xtesting-verify-{phase}-{stream}'
-
- stream:
- - master:
- branch: '{stream}'
- gs-pathname: ''
- disabled: false
- - iruya: &iruya
- branch: 'stable/{stream}'
- gs-pathname: '/{stream}'
- disabled: false
- - hunter: &hunter
- branch: 'stable/{stream}'
- gs-pathname: '/{stream}'
- disabled: false
- - gambia: &gambia
- branch: 'stable/{stream}'
- gs-pathname: '/{stream}'
- disabled: false
-
- phase:
- - 'unit-tests-and-docs':
- slave-label: 'opnfv-build-ubuntu'
-
-- job-template:
- name: 'xtesting-verify-{stream}'
-
- disabled: '{obj:disabled}'
-
- project-type: 'multijob'
-
- parameters:
- - project-parameter:
- project: '{project}'
- branch: '{branch}'
- - 'opnfv-build-ubuntu-defaults'
-
- scm:
- - git-scm-gerrit
-
- triggers:
- - 'xtesting-verify-triggers-macro':
- project: '{project}'
- branch: '{branch}'
-
- builders:
- - shell: |
- #!/bin/bash
- # we do nothing here as the main stuff will be done
- # in phase jobs
- echo "Triggering phase jobs!"
- - multijob:
- name: 'xtesting-build-and-unittest'
- execution-type: PARALLEL
- projects:
- - name: 'xtesting-verify-unit-tests-and-docs-{stream}'
- current-parameters: false
- predefined-parameters: |
- GERRIT_BRANCH=$GERRIT_BRANCH
- GERRIT_REFSPEC=$GERRIT_REFSPEC
- GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
- GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
- git-revision: true
- node-parameters: false
- kill-phase-on: FAILURE
- abort-all-job: false
-
-- job-template:
- name: 'xtesting-verify-{phase}-{stream}'
-
- disabled: '{obj:disabled}'
-
- wrappers:
- - ssh-agent-wrapper
- - build-timeout:
- timeout: 30
-
- parameters:
- - project-parameter:
- project: '{project}'
- branch: '{branch}'
- - '{slave-label}-defaults'
-
- scm:
- - git-scm-gerrit
+- xtesting-project-params: &xtesting-project-params
+ name: 'xtesting-project-params'
+ tag:
+ - latest:
+ branch: master
+ slave: lf-virtual1
+ - jerma:
+ branch: stable/jerma
+ slave: lf-virtual1
+ - iruya:
+ branch: stable/iruya
+ slave: lf-virtual1
+ - hunter:
+ branch: stable/hunter
+ slave: lf-virtual1
+- builder:
+ name: xtesting-run-tox
builders:
- - 'xtesting-verify-{phase}-builders-macro'
-
- publishers:
- - 'xtesting-verify-{phase}-publishers-macro'
+ - shell: tox
-################################
-# job triggers
-################################
- trigger:
- name: 'xtesting-verify-triggers-macro'
+ name: xtesting-project-patchset-created
triggers:
- gerrit:
server-name: 'gerrit.opnfv.org'
trigger-on:
- - patchset-created-event:
- exclude-drafts: 'false'
- exclude-trivial-rebase: 'false'
- exclude-no-code-change: 'false'
- - draft-published-event
+ - patchset-created-event
- comment-added-contains-event:
comment-contains-value: 'recheck'
- comment-added-contains-event:
comment-contains-value: 'reverify'
projects:
- project-compare-type: 'ANT'
- project-pattern: '{project}'
+ project-pattern: 'functest-xtesting'
branches:
- branch-compare-type: 'ANT'
branch-pattern: '**/{branch}'
- disable-strict-forbidden-file-verification: 'true'
- forbidden-file-paths:
- - compare-type: ANT
- pattern: 'docs/**|.gitignore'
+ skip-vote:
+ successful: false
+ failed: false
+ unstable: false
+ notbuilt: false
+
+- parameter:
+ name: xtesting-project-slave
+ parameters:
+ - label:
+ name: slave
+ default: '{slave}'
-################################
-# job builders
-################################
+- scm:
+ name: xtesting-project-scm
+ scm:
+ - git:
+ url: https://gerrit.opnfv.org/gerrit/functest-xtesting
+ refspec: '+refs/changes/*:refs/changes/*'
+ branches:
+ - '{ref}'
-- builder:
- name: 'xtesting-verify-unit-tests-and-docs-builders-macro'
+- job-template:
+ name: 'xtesting-run-tox-{tag}'
+ triggers:
+ - xtesting-project-patchset-created:
+ branch: '{branch}'
+ scm:
+ - xtesting-project-scm:
+ ref: $GERRIT_REFSPEC
+ parameters:
+ - xtesting-project-slave:
+ slave: '{slave}'
builders:
- - shell: |
- cd $WORKSPACE && tox
+ - xtesting-run-tox
-################################
-# job publishers
-################################
-- publisher:
- name: 'xtesting-verify-unit-tests-and-docs-publishers-macro'
- publishers:
- - junit:
- results: nosetests.xml
- - cobertura:
- report-file: "coverage.xml"
- only-stable: "true"
- health-auto-update: "true"
- stability-auto-update: "true"
- zoom-coverage-chart: "true"
- targets:
- - files:
- healthy: 10
- unhealthy: 20
- failing: 30
- - method:
- healthy: 50
- unhealthy: 40
- failing: 30
- - email-jenkins-admins-on-failure
+- project:
+ name: 'xtesting-run-tox'
+ <<: *xtesting-project-params
+ jobs:
+ - 'xtesting-run-tox-{tag}'
tag:
- latest:
branch: master
+ slave: lf-virtual1
+ - jerma:
+ branch: stable/jerma
+ slave: lf-virtual1
- iruya:
branch: stable/iruya
+ slave: lf-virtual1
- hunter:
branch: stable/hunter
+ slave: lf-virtual1
- parameter:
name: xtesting-slave
parameters:
- label:
name: slave
- default: lf-build2
+ default: '{slave}'
- parameter:
name: xtesting-branch
name: xtesting-run-containers
builders:
- shell: |
- set +ex
+ set +x
[ ! -z "$WORKSPACE" ] && sudo rm -rf $WORKSPACE/* || true
if [ "{repo}" = "_" ]; then
image={container}:{tag}
image={repo}:{port}/{container}:{tag}
fi
sudo docker run --rm \
+ -e S3_ENDPOINT_URL=https://storage.googleapis.com \
+ -e S3_DST_URL=s3://artifacts.opnfv.org/xtesting/$JOB_NAME-$BUILD_ID \
+ -e HTTP_DST_URL=http://artifacts.opnfv.org/xtesting/$JOB_NAME-$BUILD_ID \
-v $WORKSPACE/../$JOB_NAME/results:/var/lib/xtesting/results \
+ -v /home/opnfv/xtesting/.boto:/root/.boto \
-e DEBUG=true \
- $image run_tests -t {test}
- res=$?
- gsutil -m cp -r $WORKSPACE/ \
- gs://artifacts.opnfv.org/xtesting/$JOB_NAME-$BUILD_ID > /dev/null 2>&1
- find $WORKSPACE -type f \
- -printf \
- "http://artifacts.opnfv.org/xtesting/$JOB_NAME-$BUILD_ID/%P\n"
- exit $res
+ $image run_tests -t {test} -p
- builder:
name: xtesting-remove-images
- job-template:
name: 'xtesting-{repo}-{container}-{tag}-pull'
parameters:
- - xtesting-slave
+ - xtesting-slave:
+ slave: '{slave}'
builders:
- xtesting-pull-containers:
<<: *xtesting-containers
- job-template:
name: 'xtesting-{repo}-{container}-{tag}-rmi'
parameters:
- - xtesting-slave
+ - xtesting-slave:
+ slave: '{slave}'
builders:
- xtesting-remove-images:
<<: *xtesting-containers
- job-template:
name: 'xtesting-{repo}-{container}-{tag}-{test}-run'
parameters:
- - xtesting-slave
+ - xtesting-slave:
+ slave: '{slave}'
builders:
- xtesting-run-containers:
<<: *xtesting-run-containers
- third
- fourth
- fifth
+ - sixth
+ exclude:
+ - tag: hunter
+ test: sixth
+ - tag: iruya
+ test: sixth
jobs:
- 'xtesting-{repo}-{container}-{tag}-{test}-run'
triggers:
- timed: '@daily'
parameters:
- - xtesting-slave
+ - xtesting-slave:
+ slave: '{slave}'
properties:
- build-blocker:
use-build-blocker: true
blocking-level: 'NODE'
blocking-jobs:
- - '^xtesting-[a-z]+-(daily|check|gate)$'
+ - '^xtesting-{tag}-(daily|check|gate)$'
builders:
- multijob:
name: remove former images
<<: *xtesting-jobs
- name: 'xtesting-opnfv-xtesting-{tag}-fifth-run'
<<: *xtesting-jobs
+ - name: 'xtesting-opnfv-xtesting-{tag}-sixth-run'
+ <<: *xtesting-jobs
- job-template:
name: 'xtesting-{repo}-{container}-{tag}-gate'
parameters:
- - xtesting-slave
+ - xtesting-slave:
+ slave: '{slave}'
scm:
- xtesting-scm:
ref: $GERRIT_REFSPEC
- job-template:
name: 'xtesting-{repo}-{container}-{tag}-check'
parameters:
- - xtesting-slave
+ - xtesting-slave:
+ slave: '{slave}'
- xtesting-branch:
branch: '{branch}'
scm:
ref: $branch
- project:
- name: 'xtesting-_-alpine-3.9-rmi'
+ name: 'xtesting-_-alpine-3.10-rmi'
repo: _
port:
container: alpine
- tag: 3.9
+ tag: '3.10'
+ slave: master
jobs:
- 'xtesting-{repo}-{container}-{tag}-rmi'
- project:
- name: 'xtesting-_-alpine-3.9-pull'
+ name: 'xtesting-_-alpine-3.10-pull'
repo: _
port:
container: alpine
- tag: 3.9
+ tag: '3.10'
+ slave: master
jobs:
- 'xtesting-{repo}-{container}-{tag}-pull'
name: 'xtesting-{tag}-check'
project-type: multijob
parameters:
- - xtesting-slave
+ - xtesting-slave:
+ slave: '{slave}'
- xtesting-branch:
branch: '{branch}'
properties:
use-build-blocker: true
blocking-level: 'NODE'
blocking-jobs:
- - '^xtesting-[a-z]+-(daily|check|gate)$'
+ - '^xtesting-{tag}-(daily|check|gate)$'
builders:
- multijob:
name: remove former images
- multijob:
name: remove dependencies
projects:
- - name: 'xtesting-_-alpine-3.9-rmi'
+ - name: 'xtesting-_-alpine-3.10-rmi'
<<: *xtesting-jobs
- multijob:
name: pull dependencies
projects:
- - name: 'xtesting-_-alpine-3.9-pull'
+ - name: 'xtesting-_-alpine-3.10-pull'
<<: *xtesting-jobs
- multijob:
- name: opnfv/functest-xtesting
+ name: opnfv/xtesting
projects:
- name: 'xtesting-opnfv-xtesting-{tag}-check'
<<: *xtesting-jobs
<<: *xtesting-jobs
- name: 'xtesting-opnfv-xtesting-{tag}-fifth-run'
<<: *xtesting-jobs
+ - name: 'xtesting-opnfv-xtesting-{tag}-sixth-run'
+ <<: *xtesting-jobs
- trigger:
name: xtesting-patchset-created
- xtesting-patchset-created:
branch: '{branch}'
parameters:
- - xtesting-slave
+ - xtesting-slave:
+ slave: '{slave}'
properties:
- build-blocker:
use-build-blocker: true
blocking-level: 'NODE'
blocking-jobs:
- - '^xtesting-[a-z]+-(daily|check|gate)$'
+ - '^xtesting-{tag}-(daily|check|gate)$'
builders:
- multijob:
name: remove former images
- multijob:
name: remove dependencies
projects:
- - name: 'xtesting-_-alpine-3.9-rmi'
+ - name: 'xtesting-_-alpine-3.10-rmi'
<<: *xtesting-jobs
- multijob:
name: pull dependencies
projects:
- - name: 'xtesting-_-alpine-3.9-pull'
+ - name: 'xtesting-_-alpine-3.10-pull'
<<: *xtesting-jobs
- multijob:
- name: opnfv/functest-xtesting
+ name: opnfv/xtesting
projects:
- name: 'xtesting-opnfv-xtesting-{tag}-gate'
<<: *xtesting-jobs
<<: *xtesting-jobs
- name: 'xtesting-opnfv-xtesting-{tag}-fifth-run'
<<: *xtesting-jobs
+ - name: 'xtesting-opnfv-xtesting-{tag}-sixth-run'
+ <<: *xtesting-jobs
- project:
name: 'xtesting'
default: 'external'
description: 'external network for test'
-- parameter:
- name: 'compass-defaults'
- parameters:
- - string:
- name: INSTALLER_IP
- default: '192.168.200.2'
- description: 'IP of the installer'
- - string:
- name: INSTALLER_TYPE
- default: compass
- description: 'Installer used for deploying OPNFV on this POD'
- - string:
- name: EXTERNAL_NETWORK
- default: 'ext-net'
- description: 'external network for test'
-
- parameter:
name: 'fuel-defaults'
parameters:
recipients: >
stephen.wong1@huawei.com
-- publisher: &email_compass4nfv_ptl_defaults
- name: 'email-compass4nfv-ptl'
- publishers:
- - email-ext:
- <<: *email_ptl_defaults
- recipients: >
- chigang@huawei.com
-- publisher:
- name: 'email-compass-containers-ptl'
- <<: *email_compass4nfv_ptl_defaults
-
- publisher:
name: 'email-conductor-ptl'
publishers:
recipients: >
ruan.he@orange.com
-- publisher:
- name: 'email-netready-ptl'
- publishers:
- - email-ext:
- <<: *email_ptl_defaults
- recipients: >
- georg.kunz@ericsson.com
-
- publisher:
name: 'email-nfvbench-ptl'
publishers:
- email-ext:
<<: *email_ptl_defaults
recipients: >
- zhang.jun3g@zte.com.cn
-- publisher:
- name: 'email-pharos-tools-ptl'
- <<: *email_pharos_ptl_defaults
+ jack@jento.io
+
+- publisher: &email_laas_ptl_defaults
+ name: 'email-laas-ptl'
+ publishers:
+ - email-ext:
+ <<: *email_laas_ptl_defaults
+ recipients: >
+ pberberian@iol.unh.edu
- publisher:
name: 'email-promise-ptl'
name: SSH_KEY
default: /root/.ssh/id_rsa
description: 'SSH key to use for Apex'
-- parameter:
- name: 'compass-baremetal-defaults'
- parameters:
- - label:
- name: SLAVE_LABEL
- default: 'compass-baremetal'
- all-nodes: false
- node-eligibility: 'ignore-offline'
- - string:
- name: GIT_BASE
- default: https://gerrit.opnfv.org/gerrit/$PROJECT
- description: 'Git URL to use on this Jenkins Slave'
-
-- parameter:
- name: 'compass-baremetal-master-defaults'
- parameters:
- - label:
- name: SLAVE_LABEL
- default: 'compass-baremetal-master'
- all-nodes: false
- node-eligibility: 'ignore-offline'
- - string:
- name: GIT_BASE
- default: https://gerrit.opnfv.org/gerrit/$PROJECT
- description: 'Git URL to use on this Jenkins Slave'
-
-- parameter:
- name: 'compass-baremetal-branch-defaults'
- parameters:
- - label:
- name: SLAVE_LABEL
- default: 'compass-baremetal-branch'
- all-nodes: false
- node-eligibility: 'ignore-offline'
- - string:
- name: GIT_BASE
- default: https://gerrit.opnfv.org/gerrit/$PROJECT
- description: 'Git URL to use on this Jenkins Slave'
- parameter:
name: 'fuel-baremetal-defaults'
default: /root/.ssh/id_rsa
description: 'SSH key to use for Apex'
-- parameter:
- name: 'compass-virtual-defaults'
- parameters:
- - label:
- name: SLAVE_LABEL
- default: 'compass-virtual'
- all-nodes: false
- node-eligibility: 'ignore-offline'
- - string:
- name: GIT_BASE
- default: https://gerrit.opnfv.org/gerrit/$PROJECT
- description: 'Git URL to use on this Jenkins Slave'
-
-- parameter:
- name: 'compass-arm-virtual-defaults'
- parameters:
- - label:
- name: SLAVE_LABEL
- default: 'compass-arm-virtual'
- all-nodes: false
- node-eligibility: 'ignore-offline'
- - string:
- name: GIT_BASE
- default: https://gerrit.opnfv.org/gerrit/$PROJECT
- description: 'Git URL to use on this Jenkins Slave'
-
-- parameter:
- name: 'compass-virtual-master-defaults'
- parameters:
- - label:
- name: SLAVE_LABEL
- default: 'compass-virtual-master'
- all-nodes: false
- node-eligibility: 'ignore-offline'
- - string:
- name: GIT_BASE
- default: https://gerrit.opnfv.org/gerrit/$PROJECT
- description: 'Git URL to use on this Jenkins Slave'
-
-- parameter:
- name: 'compass-virtual-branch-defaults'
- parameters:
- - label:
- name: SLAVE_LABEL
- default: 'compass-virtual-branch'
- all-nodes: false
- node-eligibility: 'ignore-offline'
- - string:
- name: GIT_BASE
- default: https://gerrit.opnfv.org/gerrit/$PROJECT
- description: 'Git URL to use on this Jenkins Slave'
-
- parameter:
name: 'fuel-virtual-defaults'
parameters:
description: "Directory where the build artifact will be located upon the completion of the build."
- parameter:
- name: 'pharos-dashboard-defaults'
+ name: 'lf-virtual1-defaults'
+ parameters:
+ - label:
+ name: SLAVE_LABEL
+ default: 'lf-virtual1'
+ description: 'Slave label on Jenkins'
+ all-nodes: false
+ node-eligibility: 'ignore-offline'
+ - string:
+ name: GIT_BASE
+ default: https://gerrit.opnfv.org/gerrit/$PROJECT
+ description: 'Git URL to use on this Jenkins Slave'
+ - string:
+ name: BUILD_DIRECTORY
+ default: $WORKSPACE/build_output
+ description: "Directory where the build artifact will be located upon the completion of the build."
+
+- parameter:
+ name: 'laas-dashboard-defaults'
parameters:
- label:
name: SLAVE_LABEL
- default: 'pharos-dashboard2'
+ default: 'laas-dashboard'
description: 'Slave label on Jenkins'
all-nodes: false
node-eligibility: 'ignore-offline'
default: https://gerrit.opnfv.org/gerrit/$PROJECT
description: 'Git URL to use on this Jenkins Slave'
+- parameter:
+ name: 'itri-pod1-defaults'
+ parameters:
+ - node:
+ name: SLAVE_NAME
+ description: 'Slave name on Jenkins'
+ allowed-slaves:
+ - itri-pod1
+ default-slaves:
+ - itri-pod1
+ - string:
+ name: GIT_BASE
+ default: https://gerrit.opnfv.org/gerrit/$PROJECT
+ description: 'Git URL to use on this Jenkins Slave'
+ - string:
+ name: INSTALLER_IP
+ default: '10.20.0.2'
+ description: 'IP of the installer'
+
- parameter:
name: 'huawei-pod3-defaults'
parameters:
- master:
branch: '{stream}'
disabled: false
+ - hunter: &hunter
+ branch: 'stable/{stream}'
+ gs-pathname: '/{stream}'
+ disabled: false
- gambia:
branch: 'stable/{stream}'
disabled: false
--- /dev/null
+---
+- project:
+ name: ipv6-view
+ views:
+ - project-view
+ project-name: ipv6
+++ /dev/null
----
-########################
-# Job configuration for joid
-########################
-- project:
-
- name: 'joid'
-
- project: '{name}'
-
- installer: '{name}'
-
- # -------------------------------
- # BRANCH ANCHORS
- # -------------------------------
- fraser: &fraser
- stream: fraser
- branch: 'stable/{stream}'
- disabled: true
- gs-pathname: '/{stream}'
- master: &master
- stream: master
- branch: '{stream}'
- disabled: true
- gs-pathname: ''
- # -------------------------------
- # POD, INSTALLER, AND BRANCH MAPPING
- # -------------------------------
- # CI PODs
- # -------------------------------
- pod:
- - baremetal:
- slave-label: joid-baremetal
- <<: *fraser
- - baremetal:
- slave-label: joid-baremetal
- <<: *master
- # -------------------------------
- # scenarios
- # -------------------------------
- scenario:
- - 'os-nosdn-nofeature-noha':
- auto-trigger-name: 'joid-{scenario}-{pod}-{stream}-trigger'
- - 'os-nosdn-nofeature-ha':
- auto-trigger-name: 'joid-{scenario}-{pod}-{stream}-trigger'
- - 'os-nosdn-lxd-ha':
- auto-trigger-name: 'joid-{scenario}-{pod}-{stream}-trigger'
- - 'os-nosdn-lxd-noha':
- auto-trigger-name: 'joid-{scenario}-{pod}-{stream}-trigger'
- - 'os-odl_l2-nofeature-ha':
- auto-trigger-name: 'daily-trigger-disabled'
- - 'os-odl_l2-nofeature-noha':
- auto-trigger-name: 'daily-trigger-disabled'
- - 'os-ocl-nofeature-ha':
- auto-trigger-name: 'joid-{scenario}-{pod}-{stream}-trigger'
- - 'os-ocl-nofeature-noha':
- auto-trigger-name: 'joid-{scenario}-{pod}-{stream}-trigger'
- - 'k8-nosdn-nofeature-noha':
- auto-trigger-name: 'daily-trigger-disabled'
- - 'k8-nosdn-lb-noha':
- auto-trigger-name: 'joid-{scenario}-{pod}-{stream}-trigger'
- - 'k8-ovn-lb-noha':
- auto-trigger-name: 'joid-{scenario}-{pod}-{stream}-trigger'
- - 'os-nosdn-openbaton-ha':
- auto-trigger-name: 'joid-{scenario}-{pod}-{stream}-trigger'
- - 'k8-canal-lb-noha':
- auto-trigger-name: 'joid-{scenario}-{pod}-{stream}-trigger'
- - 'k8-nosdn-lb_ceph-noha':
- auto-trigger-name: 'joid-{scenario}-{pod}-{stream}-trigger'
- - 'k8-multus-lb-noha':
- auto-trigger-name: 'daily-trigger-disabled'
- - 'os-ovn-nofeature-ha':
- auto-trigger-name: 'daily-trigger-disabled'
-
- jobs:
- - 'joid-{scenario}-{pod}-daily-{stream}'
- - 'joid-deploy-{pod}-daily-{stream}'
-
-########################
-# job templates
-########################
-- job-template:
- name: 'joid-{scenario}-{pod}-daily-{stream}'
-
- disabled: '{obj:disabled}'
-
- concurrent: false
-
- properties:
- - logrotate-default
- - throttle:
- enabled: true
- max-total: 4
- max-per-node: 1
- option: 'project'
- - build-blocker:
- use-build-blocker: true
- blocking-jobs:
- - 'joid-(os|k8)-.*?-{pod}-daily-.*'
- blocking-level: 'NODE'
-
- wrappers:
- - build-name:
- name: '$BUILD_NUMBER - Scenario: $DEPLOY_SCENARIO'
-
- triggers:
- - '{auto-trigger-name}'
-
- parameters:
- - project-parameter:
- project: '{project}'
- branch: '{branch}'
- - '{installer}-defaults'
- - '{slave-label}-defaults':
- installer: '{installer}'
- - string:
- name: DEPLOY_SCENARIO
- default: '{scenario}'
-
- builders:
- - description-setter:
- description: "POD: $NODE_NAME"
- - trigger-builds:
- - project: 'joid-deploy-{pod}-daily-{stream}'
- current-parameters: true
- predefined-parameters:
- DEPLOY_SCENARIO={scenario}
- same-node: true
- block: true
- - trigger-builds:
- - project: 'functest-joid-{pod}-daily-{stream}'
- current-parameters: false
- predefined-parameters:
- DEPLOY_SCENARIO={scenario}
- block: true
- same-node: true
- block-thresholds:
- build-step-failure-threshold: 'never'
- failure-threshold: 'never'
- unstable-threshold: 'FAILURE'
- - trigger-builds:
- - project: 'yardstick-joid-{pod}-daily-{stream}'
- current-parameters: false
- predefined-parameters:
- DEPLOY_SCENARIO={scenario}
- block: true
- same-node: true
- block-thresholds:
- build-step-failure-threshold: 'never'
- failure-threshold: 'never'
- unstable-threshold: 'FAILURE'
-# 1.dovetail only euphrates by now, not sync with A/B/C branches
-# 2.here the stream means the SUT stream, dovetail stream is defined in
-# its own job
-# 3.only debug testsuite here(includes basic testcase,
-# i.e. one tempest smoke ipv6, two vping from functest)
-# 4.not used for release criteria or compliance,
-# only to debug the dovetail tool bugs with joid
-# - trigger-builds:
-# - project: 'dovetail-joid-{pod}-proposed_tests-{stream}'
-# current-parameters: false
-# predefined-parameters:
-# DEPLOY_SCENARIO={scenario}
-# block: true
-# same-node: true
-# block-thresholds:
-# build-step-failure-threshold: 'never'
-# failure-threshold: 'never'
-# unstable-threshold: 'FAILURE'
-
-- job-template:
- name: 'joid-deploy-{pod}-daily-{stream}'
-
- disabled: '{obj:disabled}'
-
- concurrent: true
-
- properties:
- - logrotate-default
- - throttle:
- enabled: true
- max-total: 4
- max-per-node: 1
- option: 'project'
- - build-blocker:
- use-build-blocker: true
- blocking-jobs:
- - 'joid-deploy-{pod}-daily-.*'
- blocking-level: 'NODE'
-
- wrappers:
- - build-name:
- name: '$BUILD_NUMBER - Scenario: $DEPLOY_SCENARIO'
- - timeout:
- timeout: 180
- fail: true
-
- parameters:
- - project-parameter:
- project: '{project}'
- branch: '{branch}'
- - '{installer}-defaults'
- - '{slave-label}-defaults':
- installer: '{installer}'
- - string:
- name: DEPLOY_SCENARIO
- default: 'os-odl_l2-nofeature-ha'
-
- scm:
- - git-scm
-
- builders:
- - description-setter:
- description: "POD: $NODE_NAME"
- - 'builder-macro'
-########################
-# builder macros
-########################
-- builder:
- name: 'builder-macro'
- builders:
- - shell: |
- #!/bin/bash
- echo "Running $INSTALLER_TYPE with controller $SDN_CONTROLLER"
- echo
- echo "------ First Executing clean.sh ------"
- cd $WORKSPACE/ci
- ./clean.sh
- - shell:
- !include-raw: ./joid-deploy.sh
-
-########################
-# trigger macros
-########################
-# os-nosdn-nofeature-ha trigger - branch: fraser
-- trigger:
- name: 'joid-os-nosdn-nofeature-ha-baremetal-fraser-trigger'
- triggers:
- - timed: '5 2 * * *'
-# os-nosdn-nofeature-ha trigger - branch: master
-- trigger:
- name: 'joid-os-nosdn-nofeature-ha-baremetal-master-trigger'
- triggers:
- - timed: '5 2 * * *'
-# os-odl_l2-nofeature-ha trigger - branch: fraser
-- trigger:
- name: 'joid-os-odl_l2-nofeature-ha-baremetal-fraser-trigger'
- triggers:
- - timed: '5 7 * * *'
-# os-odl_l2-nofeature-ha trigger - branch: master
-- trigger:
- name: 'joid-os-odl_l2-nofeature-ha-baremetal-master-trigger'
- triggers:
- - timed: '5 7 * * *'
-# os-nosdn-lxd-noha trigger - branch: fraser
-- trigger:
- name: 'joid-os-nosdn-lxd-noha-baremetal-fraser-trigger'
- triggers:
- - timed: '5 22 * * *'
-# os-nosdn-lxd-noha trigger - branch: master
-- trigger:
- name: 'joid-os-nosdn-lxd-noha-baremetal-master-trigger'
- triggers:
- - timed: '5 22 * * *'
-# os-nosdn-lxd-ha trigger - branch: fraser
-- trigger:
- name: 'joid-os-nosdn-lxd-ha-baremetal-fraser-trigger'
- triggers:
- - timed: '5 10 * * *'
-# os-nosdn-lxd-ha trigger - branch: master
-- trigger:
- name: 'joid-os-nosdn-lxd-ha-baremetal-master-trigger'
- triggers:
- - timed: '5 10 * * *'
-# os-nosdn-nofeature-noha trigger - branch: fraser
-- trigger:
- name: 'joid-os-nosdn-nofeature-noha-baremetal-fraser-trigger'
- triggers:
- - timed: '5 4 * * *'
-# os-nosdn-nofeature-noha trigger - branch: master
-- trigger:
- name: 'joid-os-nosdn-nofeature-noha-baremetal-master-trigger'
- triggers:
- - timed: '5 4 * * *'
-# k8-nosdn-nofeature-noha trigger - branch: fraser
-- trigger:
- name: 'joid-k8-nosdn-nofeature-noha-baremetal-fraser-trigger'
- triggers:
- - timed: '5 15 * * *'
-# k8-nosdn-nofeature-noha trigger - branch: master
-- trigger:
- name: 'joid-k8-nosdn-nofeature-noha-baremetal-master-trigger'
- triggers:
- - timed: '5 15 * * *'
-# k8-nosdn-lb-noha trigger - branch: fraser
-- trigger:
- name: 'joid-k8-nosdn-lb-noha-baremetal-fraser-trigger'
- triggers:
- - timed: '5 20 * * *'
-# k8-nosdn-lb-noha trigger - branch: master
-- trigger:
- name: 'joid-k8-nosdn-lb-noha-baremetal-master-trigger'
- triggers:
- - timed: '5 20 * * *'
-# k8-ovn-lb-noha trigger - branch: fraser
-- trigger:
- name: 'joid-k8-ovn-lb-noha-baremetal-fraser-trigger'
- triggers:
- - timed: '5 17 * * *'
-# k8-ovn-lb-noha trigger - branch: master
-- trigger:
- name: 'joid-k8-ovn-lb-noha-baremetal-master-trigger'
- triggers:
- - timed: '5 17 * * *'
-# os-nosdn-openbaton-ha trigger - branch: fraser
-- trigger:
- name: 'joid-os-nosdn-openbaton-ha-baremetal-fraser-trigger'
- triggers:
- - timed: '' # Disabled as there is no branch for orchestra
-# os-nosdn-openbaton-ha trigger - branch: master
-- trigger:
- name: 'joid-os-nosdn-openbaton-ha-baremetal-master-trigger'
- triggers:
- - timed: '5 23 * * *'
-# os-ocl-nofeature-ha trigger - branch: fraser
-- trigger:
- name: 'joid-os-ocl-nofeature-ha-baremetal-fraser-trigger'
- triggers:
- - timed: '5 13 * * *'
-# os-ocl-nofeature-ha trigger - branch: master
-- trigger:
- name: 'joid-os-ocl-nofeature-ha-baremetal-master-trigger'
- triggers:
- - timed: '5 13 * * *'
-# os-ocl-nofeature-noha trigger - branch: fraser
-- trigger:
- name: 'joid-os-ocl-nofeature-noha-baremetal-fraser-trigger'
- triggers:
- - timed: '5 16 * * *'
-# os-ocl-nofeature-noha trigger - branch: master
-- trigger:
- name: 'joid-os-ocl-nofeature-noha-baremetal-master-trigger'
- triggers:
- - timed: '5 16 * * *'
-# k8-canal-lb-noha trigger - branch: fraser
-- trigger:
- name: 'joid-k8-canal-lb-noha-baremetal-fraser-trigger'
- triggers:
- - timed: '5 14 * * *'
-# k8-canal-lb-noha trigger - branch: master
-- trigger:
- name: 'joid-k8-canal-lb-noha-baremetal-master-trigger'
- triggers:
- - timed: '5 14 * * *'
-# k8-multus-lb-noha trigger - branch: fraser
-- trigger:
- name: 'joid-k8-multus-lb-noha-baremetal-fraser-trigger'
- triggers:
- - timed: '5 18 * * *'
-# k8-multus-lb-noha trigger - branch: master
-- trigger:
- name: 'joid-k8-multus-lb-noha-baremetal-master-trigger'
- triggers:
- - timed: '5 18 * * *'
-# k8-nosdn-lb_ceph-noha trigger - branch: fraser
-- trigger:
- name: 'joid-k8-nosdn-lb_ceph-noha-baremetal-fraser-trigger'
- triggers:
- - timed: '5 18 * * *'
-# k8-nosdn-lb_ceph-noha trigger - branch: master
-- trigger:
- name: 'joid-k8-nosdn-lb_ceph-noha-baremetal-master-trigger'
- triggers:
- - timed: '5 18 * * *'
-# os-ovn-nofeature-ha trigger - branch: fraser
-- trigger:
- name: 'joid-os-ovn-nofeature-ha-baremetal-fraser-trigger'
- triggers:
- - timed: '5 19 * * *'
-# os-ovn-nofeature-ha trigger - branch: master
-- trigger:
- name: 'joid-os-ovn-nofeature-ha-baremetal-master-trigger'
- triggers:
- - timed: '5 19 * * *'
+++ /dev/null
-#!/bin/bash
-# SPDX-license-identifier: Apache-2.0
-##############################################################################
-# Copyright (c) 2016 Orange and others.
-# All rights reserved. This program and the accompanying materials
-# are made available under the terms of the Apache License, Version 2.0
-# which accompanies this distribution, and is available at
-# http://www.apache.org/licenses/LICENSE-2.0
-##############################################################################
-set +e
-set -o nounset
-
-##
-## Functions
-##
-function exit_on_error {
- RES=$1
- MSG=$2
- if [ $RES != 0 ]; then
- echo "FAILED - $MSG"
- exit $RES
- fi
-}
-
-##
-## Create LAB_CONFIG folder if not exists
-##
-
-mkdir -p $LAB_CONFIG
-
-##
-## Set Joid pod config name
-##
-
-case $NODE_NAME in
- *virtual*)
- POD=default ;;
- *)
- POD=$NODE_NAME ;;
-esac
-export POD_NAME=${POD/-}
-
-##
-## Redeploy MAAS or recover the previous config
-##
-
-cd $WORKSPACE/ci
-
-if [ -e "$LAB_CONFIG/deployconfig.yaml" ] && [ "$MAAS_REINSTALL" == "false" ]; then
- echo "------ Recover Juju environment to use MAAS ------"
- if [ ! -e deployconfig.yaml ]; then
- cp $LAB_CONFIG/deployconfig.yaml .
- cp $LAB_CONFIG/deployment.yaml .
- cp $LAB_CONFIG/labconfig.yaml .
- fi
-else
- if ["$NODE_NAME" == "default" ]; then
- echo "------ Redeploy MAAS ------"
- ./03-maasdeploy.sh default
- exit_on_error $? "MAAS Deploy FAILED"
- else
- echo "------ Redeploy MAAS ------"
- ./03-maasdeploy.sh custom $LAB_CONFIG/labconfig.yaml
- exit_on_error $? "MAAS Deploy FAILED"
- fi
-fi
-
-##
-## Configure Joid deployment
-##
-
-# Based on scenario naming we can get joid options
-# naming convention:
-# <model>-<controller>-<nfvfeature>-<mode>[-<extrastuff>]
-# With parameters:
-# model=(os|k8)
-# controller=(nosdn|odl_l3|odl_l2|onos|ocl)
-# No odl_l3 today
-# nfvfeature=(kvm|ovs|dpdk|nofeature)
-# '_' list separated.
-# mode=(ha|noha)
-# extrastuff=(none)
-# Optional field - Not used today
-
-IFS='-' read -r -a DEPLOY_OPTIONS <<< "${DEPLOY_SCENARIO}--"
-#last -- need to avoid nounset error
-
-JOID_MODEL=${DEPLOY_OPTIONS[0]}
-SDN_CONTROLLER=${DEPLOY_OPTIONS[1]}
-NFV_FEATURES=${DEPLOY_OPTIONS[2]}
-HA_MODE=${DEPLOY_OPTIONS[3]}
-EXTRA=${DEPLOY_OPTIONS[4]}
-
-if [ "$SDN_CONTROLLER" == 'odl_l2' ] || [ "$SDN_CONTROLLER" == 'odl_l3' ]; then
- SDN_CONTROLLER='odl'
-fi
-
-# Add extra to features
-if [ "$EXTRA" != "" ];then
- NFV_FEATURES="${NFV_FEATURES}_${EXTRA}"
-fi
-
-# temporary sfc feature is availble only on onos and trusty
-if [ "$NFV_FEATURES" == 'sfc' ] && [ "$SDN_CONTROLLER" == 'onos' ];then
- UBUNTU_DISTRO=trusty
-fi
-
-##
-## Configure Joid deployment
-##
-
-if [ "$JOID_MODEL" == 'k8' ]; then
- echo "------ Deploy with juju ------"
- echo "Execute: ./deploy.sh -m $JOID_MODEL -s $SDN_CONTROLLER -l $POD_NAME -d $UBUNTU_DISTRO -f $NFV_FEATURES"
-
- ./deploy.sh -m kubernetes -s $SDN_CONTROLLER -l $POD_NAME -d $UBUNTU_DISTRO -f $NFV_FEATURES
- exit_on_error $? "Main deploy FAILED"
-fi
-
-##
-## Set Admin RC
-##
-if [ "$JOID_MODEL" == 'os' ]; then
- echo "------ Deploy with juju ------"
- echo "Execute: ./deploy.sh -m $JOID_MODEL -t $HA_MODE -o $OS_RELEASE -s $SDN_CONTROLLER -l $POD_NAME -d $UBUNTU_DISTRO -f $NFV_FEATURES"
-
- ./deploy.sh -m openstack -t $HA_MODE -o $OS_RELEASE -s $SDN_CONTROLLER -l $POD_NAME -d $UBUNTU_DISTRO -f $NFV_FEATURES
- exit_on_error $? "Main deploy FAILED"
-
- JOID_ADMIN_OPENRC=$LAB_CONFIG/admin-openrc
- echo "------ Create OpenRC file [$JOID_ADMIN_OPENRC] ------"
-
- # get controller IP
- case "$SDN_CONTROLLER" in
- "odl")
- SDN_CONTROLLER_IP=$(juju status odl-controller/0 |grep public-address|sed -- 's/.*\: //')
- ;;
- "onos")
- SDN_CONTROLLER_IP=$(juju status onos-controller/0 |grep public-address|sed -- 's/.*\: //')
- ;;
- *)
- SDN_CONTROLLER_IP='none'
- ;;
- esac
- SDN_PASSWORD='admin'
-
- # export the openrc file by getting the one generated by joid and add SDN
- # controller for Functest
- # cp ./cloud/admin-openrc $JOID_ADMIN_OPENRC
- echo export SDN_CONTROLLER=$SDN_CONTROLLER_IP >> $JOID_ADMIN_OPENRC
- echo export SDN_PASSWORD=$SDN_PASSWORD >> $JOID_ADMIN_OPENRC
-
-fi
-
-##
-## Exit success
-##
-
-echo "Deploy success"
-exit 0
+++ /dev/null
----
-- project:
- name: joid-rtd
- project: joid
- project-name: joid
-
- project-pattern: 'joid'
- rtd-build-url: 'https://readthedocs.org/api/v2/webhook/opnfv-joid/47371/'
- rtd-token: '44a666161d99c9f53e7f69e56f1704694502015b'
-
- jobs:
- - '{project-name}-rtd-jobs'
+++ /dev/null
----
-- project:
- name: 'joid-verify-jobs'
-
- project: 'joid'
-
- installer: 'joid'
- #####################################
- # branch definitions
- #####################################
- stream:
- - master:
- branch: '{stream}'
- gs-pathname: ''
- disabled: true
- - fraser: &fraser
- branch: 'stable/{stream}'
- gs-pathname: '/{stream}'
- disabled: true
- #####################################
- # patch verification phases
- #####################################
- phase:
- - 'basic':
- slave-label: 'opnfv-build-ubuntu'
- - 'deploy-virtual':
- slave-label: 'joid-virtual'
- - 'smoke-test':
- slave-label: 'joid-virtual'
- #####################################
- # jobs
- #####################################
- jobs:
- - 'joid-verify-{stream}'
- - 'joid-verify-{phase}-{stream}'
-#####################################
-# job templates
-#####################################
-- job-template:
- name: 'joid-verify-{stream}'
-
- disabled: '{obj:disabled}'
-
- project-type: multijob
-
- concurrent: true
-
- properties:
- - logrotate-default
- - throttle:
- enabled: true
- max-total: 4
- max-per-node: 1
- option: 'project'
- - build-blocker:
- use-build-blocker: true
- blocking-jobs:
- - 'joid-verify-master'
- - 'joid-verify-danube'
- blocking-level: 'NODE'
-
- scm:
- - git-scm-gerrit
-
- wrappers:
- - ssh-agent-wrapper
- - timeout:
- timeout: 360
- fail: true
-
- triggers:
- - gerrit:
- server-name: 'gerrit.opnfv.org'
- 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: '{project}'
- branches:
- - branch-compare-type: 'ANT'
- branch-pattern: '**/{branch}'
- disable-strict-forbidden-file-verification: 'true'
- forbidden-file-paths:
- - compare-type: ANT
- pattern: 'docs/**|.gitignore'
- readable-message: true
-
- parameters:
- - project-parameter:
- project: '{project}'
- branch: '{branch}'
- - 'joid-virtual-defaults'
-
- builders:
- - description-setter:
- description: "Built on $NODE_NAME"
- - multijob:
- name: basic
- condition: SUCCESSFUL
- projects:
- - name: 'joid-verify-basic-{stream}'
- current-parameters: false
- predefined-parameters: |
- BRANCH=$BRANCH
- GERRIT_REFSPEC=$GERRIT_REFSPEC
- GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
- GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
- kill-phase-on: FAILURE
- abort-all-job: true
- - multijob:
- name: deploy-virtual
- condition: SUCCESSFUL
- projects:
- - name: 'joid-verify-deploy-virtual-{stream}'
- current-parameters: false
- predefined-parameters: |
- BRANCH=$BRANCH
- GERRIT_REFSPEC=$GERRIT_REFSPEC
- GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
- GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
- node-parameters: true
- kill-phase-on: FAILURE
- abort-all-job: true
- - multijob:
- name: smoke-test
- condition: SUCCESSFUL
- projects:
- - name: 'joid-verify-smoke-test-{stream}'
- current-parameters: false
- predefined-parameters: |
- BRANCH=$BRANCH
- GERRIT_REFSPEC=$GERRIT_REFSPEC
- GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
- GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
- node-parameters: true
- kill-phase-on: FAILURE
- abort-all-job: true
-
-- job-template:
- name: 'joid-verify-{phase}-{stream}'
-
- disabled: '{obj:disabled}'
-
- concurrent: true
-
- properties:
- - logrotate-default
- - throttle:
- enabled: true
- max-total: 4
- max-per-node: 1
- option: 'project'
- - build-blocker:
- use-build-blocker: true
- blocking-jobs:
- - 'joid-verify-deploy-.*'
- - 'joid-verify-test-.*'
- blocking-level: 'NODE'
-
- scm:
- - git-scm-gerrit
-
- wrappers:
- - ssh-agent-wrapper
- - timeout:
- timeout: 360
- fail: true
-
- parameters:
- - project-parameter:
- project: '{project}'
- branch: '{branch}'
- - '{installer}-defaults'
- - '{slave-label}-defaults'
-
- builders:
- - description-setter:
- description: "Built on $NODE_NAME"
- - '{project}-verify-{phase}-macro'
-#####################################
-# builder macros
-#####################################
-- builder:
- name: 'joid-verify-basic-macro'
- builders:
- - shell: |
- #!/bin/bash
-
- echo "Not activated!"
-
-- builder:
- name: 'joid-verify-deploy-virtual-macro'
- builders:
- - shell: |
- #!/bin/bash
-
- echo "Not activated!"
-
-- builder:
- name: 'joid-verify-smoke-test-macro'
- builders:
- - shell: |
- #!/bin/bash
-
- echo "Not activated!"
--- /dev/null
+---
+- project:
+ name: kvmfornfv-view
+ views:
+ - project-view
+ project-name: kvmfornfv
---
- project:
- name: pharos-dashboard-jobs
+ name: laas-dashboard-jobs
- project: 'pharos-tools'
- project-name: 'pharos-tools'
+ project: 'laas'
+ project-name: 'laas'
stream:
- master
disabled: false
jobs:
- - 'pharos-dashboard-backup'
- - 'pharos-dashboard-deploy'
+ - 'laas-dashboard-backup'
+ - 'laas-dashboard-deploy'
- project:
- name: pharos-dashboard-verify
+ name: laas-dashboard-verify
- project: 'pharos-tools'
- project-name: 'pharos-tools'
+ project: 'laas'
+ project-name: 'laas'
build-days-to-keep: 7
tox-dir: 'dashboard'
- 'gerrit-tox-verify'
- job-template:
- name: 'pharos-dashboard-backup'
+ name: 'laas-dashboard-backup'
disabled: '{obj:disabled}'
parameters:
- - 'pharos-dashboard-defaults'
+ - 'laas-dashboard-defaults'
triggers:
- timed: '@daily'
!include-raw: shell/backup-dashboard.sh
- job-template:
- name: 'pharos-dashboard-deploy'
+ name: 'laas-dashboard-deploy'
disabled: '{obj:disabled}'
- project-parameter:
project: '{project}'
branch: 'master'
- - 'pharos-dashboard-defaults'
+ - 'laas-dashboard-defaults'
scm:
- git-scm-gerrit
BACKUP_DIR=$HOME/backups
DATE=$(date +%Y%m%d)
-TAR_FILE=pharos-dashboard-db-$DATE.tar.tz
+TAR_FILE=laas-dashboard-db-$DATE.tar.tz
mkdir -p $BACKUP_DIR
echo "-- $DATE --"
-echo "--> Backing up Pharos Dashboard"
+echo "--> Backing up Lab as a Service Dashboard"
docker run --rm \
- -v pharos-data:/pharos-data:ro \
+ -v laas-data:/laas-data:ro \
-v $BACKUP_DIR:/backup \
alpine \
- tar -czf /backup/$TAR_FILE -C /pharos-data ./
+ tar -czf /backup/$TAR_FILE -C /laas-data ./
/usr/local/bin/gsutil cp $BACKUP_DIR/$TAR_FILE \
- gs://opnfv-backups/pharos-dashboard/ && rm $BACKUP_DIR/$TAR_FILE
+ gs://opnfv-backups/laas-dashboard/ && rm $BACKUP_DIR/$TAR_FILE
-echo "--> Pharos dashboard backup complete"
+echo "--> LAAS dashboard backup complete"
# Copy JIRA keys into web container
WEB_CONTAINER="$(docker ps --filter 'name=dg01' -q)"
-docker cp $HOME/rsa.pub $WEB_CONTAINER:/pharos_dashboard/account/
-docker cp $HOME/rsa.pem $WEB_CONTAINER:/pharos_dashboard/account/
+docker cp $HOME/rsa.pub $WEB_CONTAINER:/laas_dashboard/account/
+docker cp $HOME/rsa.pem $WEB_CONTAINER:/laas_dashboard/account/
+++ /dev/null
----
-- project:
- name: models
-
- project: '{name}'
-
- jobs:
- - '{project}-verify-basic'
+++ /dev/null
----
-- project:
- name: moon-rtd
- project: moon
- project-name: moon
-
- gerrit-skip-vote: true
- project-pattern: 'moon'
- rtd-build-url: 'https://readthedocs.org/api/v2/webhook/opnfv-moon/47373/'
- rtd-token: 'f4dc698744431a8688a58746f84fc5d7bee694b2'
-
- jobs:
- - '{project-name}-rtd-jobs'
+++ /dev/null
----
-- project:
- name: moon
-
- project: '{name}'
-
- jobs:
- - 'moon-verify-{stream}'
-
- stream:
- - master:
- branch: '{stream}'
- gs-pathname: ''
- disabled: true
- - euphrates:
- branch: 'stable/{stream}'
- gs-pathname: '/{stream}'
- disabled: true
-
-- job-template:
- name: 'moon-verify-{stream}'
-
- parameters:
- - project-parameter:
- project: '{project}'
- branch: '{branch}'
- - 'opnfv-build-ubuntu-defaults'
-
- scm:
- - git-scm-gerrit
-
- triggers:
- - gerrit:
- server-name: 'gerrit.opnfv.org'
- 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: '{project}'
- branches:
- - branch-compare-type: 'ANT'
- branch-pattern: '**/{branch}'
- disable-strict-forbidden-file-verification: 'true'
- forbidden-file-paths:
- - compare-type: ANT
- pattern: 'docs/**|.gitignore'
-
- builders:
- - shell: |
- #!/bin/bash
- echo "launch Moon unit tests"
- #nosetest $WORKSPACE/keystone-moon/keystone/tests/moon/unit
+++ /dev/null
----
-- project:
- name: multisite-rtd
- project: multisite
- project-name: multisite
-
- project-pattern: 'multisite'
- rtd-build-url: 'https://readthedocs.org/api/v2/webhook/opnfv-multisite/47374/'
- rtd-token: '5d5b5c20e10df51eec38593b76d96cd22d4f1a96'
-
- jobs:
- - '{project-name}-rtd-jobs'
+++ /dev/null
-#!/bin/bash
-set -o errexit
-set -o nounset
-set -o pipefail
-
-echo "Building Gluon packages."
-echo "------------------------"
-echo
-
-OPNFV_ARTIFACT_VERSION=$(echo $(date -u +"%Y%m%d"))
-
-# build all packages
-cd $WORKSPACE/ci
-./build-gluon-packages.sh
-
-# list the contents of BUILD_OUTPUT directory
-echo "Build Directory is ${BUILD_DIRECTORY}"
-echo "Build Directory Contents:"
-echo "---------------------------------------"
-ls -alR $BUILD_DIRECTORY
-
-# get version infos from Gluon from spec
-GLUON_VERSION=$(grep Version: $BUILD_DIRECTORY/rpm_specs/gluon.spec | awk '{ print $2 }')
-GLUON_RELEASE=$(grep 'define release' $BUILD_DIRECTORY/rpm_specs/gluon.spec | awk '{ print $3 }')_$OPNFV_ARTIFACT_VERSION
-
-ARTIFACT_NAME=gluon-$GLUON_VERSION-$GLUON_RELEASE.noarch.rpm
-ARTIFACT_PATH=$BUILD_DIRECTORY/noarch/$ARTIFACT_NAME
-
-echo "Writing opnfv.properties file"
-# save information regarding artifact into file
-(
- echo "OPNFV_ARTIFACT_VERSION=$OPNFV_ARTIFACT_VERSION"
- echo "OPNFV_GIT_URL=$(git config --get remote.origin.url)"
- echo "OPNFV_GIT_SHA1=$(git rev-parse HEAD)"
- echo "OPNFV_ARTIFACT_URL=$GS_URL/$ARTIFACT_NAME"
- echo "OPNFV_ARTIFACT_SHA512SUM=$(sha512sum $ARTIFACT_PATH | cut -d' ' -f1)"
- echo "OPNFV_BUILD_URL=$BUILD_URL"
- echo "ARTIFACT_LIST=$ARTIFACT_PATH"
-) > $WORKSPACE/opnfv.properties
-
-echo "---------------------------------------"
-echo "Done!"
+++ /dev/null
----
-- project:
- name: netready-rtd
- project: netready
- project-name: netready
-
- gerrit-skip-vote: true
- project-pattern: 'netready'
- rtd-build-url: 'https://readthedocs.org/api/v2/webhook/opnfv-netready/47375/'
- rtd-token: '3defd5720db87d5fd6487702e2778053b9279c28'
-
- jobs:
- - '{project-name}-rtd-jobs'
+++ /dev/null
-#!/bin/bash
-set -o errexit
-set -o nounset
-set -o pipefail
-
-echo "Uploading Gluon packages"
-echo "--------------------------------------------------------"
-echo
-
-source $WORKSPACE/opnfv.properties
-
-for artifact in $ARTIFACT_LIST; do
- echo "Uploading artifact: ${artifact}"
- gsutil cp $artifact gs://$GS_URL/$(basename $artifact) > gsutil.$(basename $artifact).log
- echo "Upload complete for ${artifact}"
-done
-
-gsutil cp $WORKSPACE/opnfv.properties gs://$GS_URL/opnfv-$OPNFV_ARTIFACT_VERSION.properties > gsutil.properties.log
-gsutil cp $WORKSPACE/opnfv.properties gs://$GS_URL/latest.properties > gsutil.properties.log
-
-echo "--------------------------------------------------------"
-echo "Upload done!"
-
-echo "Artifacts are not available as:"
-for artifact in $ARTIFACT_LIST; do
- echo "http://$GS_URL/$(basename $artifact)"
-done
+++ /dev/null
----
-- project:
- name: netready
-
- project: '{name}'
-
- jobs:
- - '{project}-verify-{stream}'
- - 'netready-build-gluon-packages-daily-{stream}'
-
- stream:
- - master:
- branch: '{stream}'
- gs-pathname: ''
- disabled: false
-
-- job-template:
- name: 'netready-build-gluon-packages-daily-{stream}'
-
- disabled: true
-
- concurrent: true
-
- parameters:
- - project-parameter:
- project: '{project}'
- branch: '{branch}'
- - 'opnfv-build-ubuntu-defaults'
- - 'netready-parameter':
- gs-pathname: '{gs-pathname}'
-
- scm:
- - git-scm
-
- builders:
- - 'netready-gluon-build'
-
- triggers:
- - timed: '@midnight'
-
-
-########################
-# builder macros
-########################
-
-- builder:
- name: 'netready-gluon-build'
- builders:
- - shell:
- !include-raw: ./netready-gluon-build.sh
- - shell:
- !include-raw: ./netready-upload-gluon-packages.sh
-
-
-########################
-# parameter macros
-########################
-
-- parameter:
- name: netready-parameter
- parameters:
- - string:
- name: BUILD_DIRECTORY
- default: $WORKSPACE/build
- description: "Directory where the build artifact will be located upon the completion of the build."
- - string:
- name: GS_URL
- default: artifacts.opnfv.org/$PROJECT{gs-pathname}
- description: "URL to Google Storage."
--- /dev/null
+---
+- project:
+ name: nfvbench-view
+ views:
+ - project-view
+ project-name: nfvbench
- gerrit:
server-name: 'gerrit.opnfv.org'
trigger-on:
- - comment-added-contains-event:
- comment-contains-value: 'buildvm'
+ - change-merged-event
projects:
- project-compare-type: 'ANT'
project-pattern: '{project}'
builders:
- shell: |
cd $WORKSPACE && tox
+ cd $WORKSPACE/nfvbenchvm/dib
+ bash verify-image.sh -v
+++ /dev/null
----
-- project:
- name: octopus-rtd
- project: octopus
- project-name: octopus
-
- gerrit-skip-vote: true
- project-pattern: 'octopus'
- rtd-build-url: 'https://readthedocs.org/api/v2/webhook/opnfv-octopus/47377/'
- rtd-token: 'b3a1784dc55db91f38ea54cb181a0e4551221349'
-
- jobs:
- - '{project-name}-rtd-jobs'
--- /dev/null
+---
+- project:
+ name: octopus-view
+ views:
+ - common-view
+ view-name: octopus
+ view-regex: ^octopus.*
--- /dev/null
+---
+- project:
+ name: onosfw-view
+ views:
+ - project-view
+ project-name: onosfw
--- /dev/null
+---
+- project:
+ name: openci-view
+ views:
+ - project-view
+ project-name: openci
+++ /dev/null
----
-- project:
- name: 'opera-daily-jobs'
-
- project: 'opera'
-
- #####################################
- # branch definitions
- #####################################
- master: &master
- stream: master
- branch: '{stream}'
- gs-pathname: ''
- disabled: true
-
- #####################################
- # pod definitions
- #####################################
- pod:
- - virtual:
- slave-label: 'huawei-virtual7'
- os-version: 'xenial'
- <<: *master
-
- #####################################
- # jobs
- #####################################
- jobs:
- - 'opera-{pod}-daily-{stream}'
-
-#####################################
-# job templates
-#####################################
-- job-template:
- name: 'opera-{pod}-daily-{stream}'
-
- project-type: multijob
-
- disabled: '{obj:disabled}'
-
- concurrent: false
-
- properties:
- - logrotate-default
- - throttle:
- enabled: true
- max-total: 1
- max-per-node: 1
- option: 'project'
-
- scm:
- - git-scm
-
- wrappers:
- - ssh-agent-wrapper
- - timeout:
- timeout: 240
- fail: true
-
- triggers:
- - timed: '@midnight'
-
- parameters:
- - project-parameter:
- project: '{project}'
- branch: '{branch}'
- - string:
- name: DEPLOY_SCENARIO
- default: os-nosdn-openo-ha
- - '{slave-label}-defaults'
-
- builders:
- - description-setter:
- description: "Built on $NODE_NAME"
- - multijob:
- name: deploy
- condition: SUCCESSFUL
- projects:
- - name: 'compass-deploy-{pod}-daily-{stream}'
- current-parameters: false
- predefined-parameters: |
- DEPLOY_SCENARIO=os-nosdn-openo-ha
- COMPASS_OS_VERSION=xenial
- node-parameters: true
- kill-phase-on: FAILURE
- abort-all-job: true
- - multijob:
- name: functest
- condition: SUCCESSFUL
- projects:
- - name: 'functest-compass-{pod}-suite-{stream}'
- current-parameters: false
- predefined-parameters: |
- DEPLOY_SCENARIO=os-nosdn-openo-ha
- FUNCTEST_MODE=testcase
- FUNCTEST_SUITE_NAME=opera_vims
- node-parameters: true
- kill-phase-on: NEVER
- abort-all-job: true
+++ /dev/null
----
-- project:
-
- name: opera-project
-
- project: 'opera'
-
- stream:
- - master:
- branch: '{stream}'
- gs-pathname: ''
-
- jobs:
- - 'opera-build-{stream}'
-
-########################
-# job templates
-########################
-- job-template:
- name: 'opera-build-{stream}'
-
- concurrent: true
-
- properties:
- - logrotate-default
- - throttle:
- enabled: true
- max-total: 1
- max-per-node: 1
- option: 'project'
-
- parameters:
- - project-parameter:
- project: '{project}'
- branch: '{branch}'
- - 'opnfv-build-ubuntu-defaults'
-
- scm:
- - git-scm
-
- triggers:
- - timed: 'H 23 * * *'
-
- builders:
- - 'opera-build-macro'
-
-#####################################
-# builder macros
-#####################################
-- builder:
- name: 'opera-build-macro'
- builders:
- - shell: |
- #!/bin/bash
-
- echo "Hello world!"
+++ /dev/null
----
-- project:
- name: opera-rtd
- project: opera
- project-name: opera
-
- gerrit-skip-vote: true
- project-pattern: 'opera'
- rtd-build-url: 'https://readthedocs.org/api/v2/webhook/opnfv-opera/47379/'
- rtd-token: '4dc678d2d96adf6376b4f8f9aafdbbeb24dbb006'
-
- jobs:
- - '{project-name}-rtd-jobs'
+++ /dev/null
----
-- project:
- name: 'opera-verify-jobs'
-
- project: 'opera'
-
- #####################################
- # branch definitions
- #####################################
- stream:
- - master:
- branch: '{stream}'
- gs-pathname: ''
- disabled: true
-
- #####################################
- # patch verification phases
- #####################################
- phase:
- - 'basic'
- - 'deploy'
-
- #####################################
- # jobs
- #####################################
- jobs:
- - 'opera-verify-{stream}'
- - 'opera-verify-{phase}-{stream}'
-#####################################
-# job templates
-#####################################
-- job-template:
- name: 'opera-verify-{stream}'
-
- project-type: multijob
-
- disabled: '{obj:disabled}'
-
- concurrent: true
-
- properties:
- - logrotate-default
- - throttle:
- enabled: true
- max-total: 1
- max-per-node: 1
- option: 'project'
-
- scm:
- - git-scm-gerrit
-
- wrappers:
- - ssh-agent-wrapper
- - timeout:
- timeout: 120
- fail: true
-
- triggers:
- - gerrit:
- server-name: 'gerrit.opnfv.org'
- 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: '{project}'
- branches:
- - branch-compare-type: 'ANT'
- branch-pattern: '**/{branch}'
- file-paths:
- - compare-type: ANT
- pattern: '**/*'
- disable-strict-forbidden-file-verification: 'true'
- forbidden-file-paths:
- - compare-type: ANT
- pattern: 'docs/**'
- readable-message: true
-
- parameters:
- - project-parameter:
- project: '{project}'
- branch: '{branch}'
- - 'huawei-pod7-defaults'
-
- builders:
- - description-setter:
- description: "Built on $NODE_NAME"
- - multijob:
- name: basic
- condition: SUCCESSFUL
- projects:
- - name: 'opera-verify-basic-{stream}'
- current-parameters: true
- node-parameters: true
- kill-phase-on: FAILURE
- abort-all-job: true
- - multijob:
- name: deploy
- condition: SUCCESSFUL
- projects:
- - name: 'opera-verify-deploy-{stream}'
- current-parameters: true
- node-parameters: true
- kill-phase-on: FAILURE
- abort-all-job: true
-
-- job-template:
- name: 'opera-verify-{phase}-{stream}'
-
- disabled: '{obj:disabled}'
-
- concurrent: true
-
- properties:
- - logrotate-default
- - throttle:
- enabled: true
- max-per-node: 1
- option: 'project'
-
- scm:
- - git-scm-gerrit
-
- wrappers:
- - ssh-agent-wrapper
- - timeout:
- timeout: 120
- fail: true
-
- builders:
- - description-setter:
- description: "Built on $NODE_NAME"
- - '{project}-verify-{phase}-macro'
-
-#####################################
-# builder macros
-#####################################
-- builder:
- name: 'opera-verify-basic-macro'
- builders:
- - shell: |
- #!/bin/bash
- echo "Hello world!"
-
-- builder:
- name: 'opera-verify-deploy-macro'
- builders:
- - shell: |
- #!/bin/bash
- echo "Hello world!"
name: docs-rtd
project: 'opnfvdocs'
project-name: 'opnfvdocs'
- rtd-build-url: 'https://readthedocs.org/api/v2/webhook/opnfv-releng/38594/'
- rtd-token: '291c6a0109493b4457e566d06141212452c65784'
+ rtd-build-url: 'https://readthedocs.org/api/v2/webhook/opnfvdocsdemo/79560/'
+ rtd-token: 'a96c3622a270344cf9bf3f73b0dfa04f59fc59c0'
project-pattern: 'opnfvdocs'
jobs:
- '{project-name}-rtd-jobs'
stream:
- master:
branch: 'master'
- - gambia:
- branch: 'stable/{stream}'
- - fraser:
- branch: 'stable/{stream}'
- - danube:
+ - hunter:
branch: 'stable/{stream}'
- job-template:
--- /dev/null
+---
+- project:
+ name: opnfvdocs-view
+ views:
+ - project-view
+ project-name: opnfvdocs
branch: '{stream}'
gs-pathname: ''
disabled: false
- - gambia:
- branch: 'stable/{stream}'
- gs-pathname: '/{stream}'
- disabled: false
- - fraser:
+ - hunter:
branch: 'stable/{stream}'
gs-pathname: '/{stream}'
disabled: false
--- /dev/null
+---
+- project:
+ name: opnfvtsc-view
+ views:
+ - project-view
+ project-name: opnfvtsc
+++ /dev/null
----
-###################################
-# job configuration for orchestra
-###################################
-- project:
- name: 'orchestra-daily-jobs'
-
- project: 'orchestra'
-
- # -------------------------------
- # BRANCH ANCHORS
- # -------------------------------
- master: &master
- stream: master
- branch: '{stream}'
- gs-pathname: ''
- disabled: true
-
- # ------------------------------------------------------
- # POD, INSTALLER, AND BRANCH MAPPING
- # ------------------------------------------------------
- pod:
- - virtual:
- slave-label: 'joid-virtual'
- os-version: 'xenial'
- <<: *master
-
- jobs:
- - 'orchestra-{pod}-daily-{stream}'
-
-################################
-# job template
-################################
-- job-template:
- name: 'orchestra-{pod}-daily-{stream}'
-
- project-type: multijob
-
- disabled: '{obj:disabled}'
-
- concurrent: false
-
- properties:
- - logrotate-default
- - throttle:
- enabled: true
- max-total: 1
- max-per-node: 1
- option: 'project'
-
- scm:
- - git-scm
-
- wrappers:
- - ssh-agent-wrapper
-
- - timeout:
- timeout: 240
- fail: true
-
- triggers:
- - timed: '@daily'
-
- parameters:
- - project-parameter:
- project: '{project}'
- branch: '{branch}'
- - string:
- name: DEPLOY_SCENARIO
- default: os-nosdn-openbaton-ha
- - '{slave-label}-defaults'
-
- builders:
- - description-setter:
- description: "Built on $NODE_NAME"
- - multijob:
- name: deploy
- condition: SUCCESSFUL
- projects:
- - name: 'joid-deploy-{pod}-daily-{stream}'
- current-parameters: false
- predefined-parameters: |
- DEPLOY_SCENARIO=os-nosdn-openbaton-ha
- COMPASS_OS_VERSION=xenial
- node-parameters: true
- kill-phase-on: FAILURE
- abort-all-job: true
- - multijob:
- name: functest
- condition: SUCCESSFUL
- projects:
- - name: 'functest-joid-{pod}-daily-{stream}'
- current-parameters: false
- predefined-parameters: |
- DEPLOY_SCENARIO=os-nosdn-openbaton-ha
- FUNCTEST_MODE=testcase
- FUNCTEST_SUITE_NAME=orchestra_ims
- node-parameters: true
- kill-phase-on: NEVER
- abort-all-job: true
+++ /dev/null
----
-- project:
-
- name: orchestra-project
-
- project: 'orchestra'
-
- stream:
- - master:
- branch: '{stream}'
- gs-pathname: ''
-
- jobs:
- - 'orchestra-build-{stream}'
-
-- job-template:
- name: 'orchestra-build-{stream}'
-
- concurrent: true
-
- properties:
- - logrotate-default
- - throttle:
- enabled: true
- max-total: 1
- max-per-node: 1
- option: 'project'
-
- parameters:
- - project-parameter:
- project: '{project}'
- branch: '{branch}'
-
- scm:
- - git-scm
-
- triggers:
- - timed: 'H 23 * * *'
-
- builders:
- - 'orchestra-build-macro'
-
-- builder:
- name: 'orchestra-build-macro'
- builders:
- - shell: |
- #!/bin/bash
-
- echo "Hello world!"
+++ /dev/null
----
-- project:
- name: orchestra-rtd
- project: orchestra
- project-name: orchestra
-
- gerrit-skip-vote: true
- project-pattern: 'orchestra'
- rtd-build-url: 'https://readthedocs.org/api/v2/webhook/opnfv-orchestra/47380/'
- rtd-token: 'c7f8cb2949a592bf6040c648552b0afa61f7da15'
-
- jobs:
- - '{project-name}-rtd-jobs'
--- /dev/null
+---
+- project:
+ name: ovno-view
+ views:
+ - project-view
+ project-name: ovno
+++ /dev/null
----
-- project:
- name: ovsnfv-rtd
- project: ovsnfv
- project-name: ovsnfv
-
- gerrit-skip-vote: true
- project-pattern: 'ovsnfv'
- rtd-build-url: 'https://readthedocs.org/api/v2/webhook/opnfv-ovsnfv/47383/'
- rtd-token: '1faa400aa3da4eca3c6018f8ed0e48a33fa66a00'
-
- jobs:
- - '{project-name}-rtd-jobs'
+++ /dev/null
----
-- project:
- name: ovsnfv
-
- project: '{name}'
-
- jobs:
- - 'ovsnfv-verify-{stream}'
- - 'ovsnfv-merge-{stream}'
- - 'ovsnfv-daily-{stream}'
-
- stream:
- - master:
- branch: '{stream}'
- gs-pathname: ''
- disabled: false
- - euphrates:
- branch: 'stable/{stream}'
- gs-pathname: '/{stream}'
- disabled: false
-
-- job-template:
- name: 'ovsnfv-verify-{stream}'
-
- disabled: '{obj:disabled}'
-
- parameters:
- - project-parameter:
- project: '{project}'
- branch: '{branch}'
- - 'opnfv-build-centos-defaults'
- - string:
- name: GS_URL
- default: '$GS_BASE{gs-pathname}'
- description: "Directory where the build artifact will be located upon the completion of the build."
-
- scm:
- - git-scm-gerrit
-
- triggers:
- - gerrit:
- server-name: 'gerrit.opnfv.org'
- 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: '{project}'
- branches:
- - branch-compare-type: 'ANT'
- branch-pattern: '**/{branch}'
- file-paths:
- - compare-type: ANT
- pattern: 'build/**'
- - compare-type: ANT
- pattern: 'ci/**'
-
- builders:
- - build-rpms
-
-- job-template:
- name: 'ovsnfv-merge-{stream}'
-
- disabled: '{obj:disabled}'
-
- parameters:
- - project-parameter:
- project: '{project}'
- branch: '{branch}'
- - 'opnfv-build-centos-defaults'
- - string:
- name: GS_URL
- default: '$GS_BASE{gs-pathname}'
- description: "Directory where the build artifact will be located upon the completion of the build."
-
- scm:
- - git-scm
-
- wrappers:
- - timeout:
- timeout: 24
- fail: true
-
- triggers:
- - gerrit:
- server-name: 'gerrit.opnfv.org'
- trigger-on:
- - change-merged-event
- - comment-added-contains-event:
- comment-contains-value: 'remerge'
- projects:
- - project-compare-type: 'ANT'
- project-pattern: '{project}'
- branches:
- - branch-compare-type: 'ANT'
- branch-pattern: '**/{branch}'
- file-paths:
- - compare-type: ANT
- pattern: 'build/**'
- - compare-type: ANT
- pattern: 'ci/**'
-
- builders:
- - build-rpms
-
-- job-template:
- name: 'ovsnfv-daily-{stream}'
-
- disabled: 'true'
-
- parameters:
- - project-parameter:
- project: '{project}'
- branch: '{branch}'
- - 'opnfv-build-centos-defaults'
- - string:
- name: GS_URL
- default: '$GS_BASE{gs-pathname}'
- description: "Directory where the build artifact will be located upon the completion of the build."
-
- scm:
- - git-scm
-
- wrappers:
- - timeout:
- timeout: 24
- fail: true
-
- triggers:
- - timed: '@midnight'
-
- builders:
- - build-rpms
-
- publishers:
- - email:
- recipients: therbert@redhat.com mark.d.gray@intel.com billy.o.mahony@intel.com
- - email-jenkins-admins-on-failure
-
-- builder:
- name: build-rpms
- builders:
- - shell: |
- #!/bin/bash
- set -o errexit
- set -o nounset
- set -o pipefail
-
- cd $WORKSPACE/ci
- ./build.sh
+++ /dev/null
----
-- project:
- name: parser-rtd
- project: parser
- project-name: parser
-
- project-pattern: 'parser'
- rtd-build-url: 'https://readthedocs.org/api/v2/webhook/opnfv-parser/47384/'
- rtd-token: '10223af1183fc8bdc191932045d82a0c1d7c874a'
-
- jobs:
- - '{project-name}-rtd-jobs'
+++ /dev/null
----
-###################################################
-# All the jobs except verify have been removed!
-# They will only be enabled on request by projects!
-###################################################
-- project:
- name: parser
-
- project: '{name}'
-
- jobs:
- - 'parser-verify-{stream}'
-
- stream:
- - master:
- branch: '{stream}'
- gs-pathname: ''
- disabled: false
- - fraser: &fraser
- branch: 'stable/{stream}'
- gs-pathname: '/{stream}'
- disabled: false
-
-- job-template:
- name: 'parser-verify-{stream}'
-
- disabled: '{obj:disabled}'
-
- parameters:
- - project-parameter:
- project: '{project}'
- branch: '{branch}'
- - 'opnfv-build-ubuntu-defaults'
-
- scm:
- - git-scm-gerrit
-
- triggers:
- - gerrit:
- server-name: 'gerrit.opnfv.org'
- 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: '{project}'
- branches:
- - branch-compare-type: 'ANT'
- branch-pattern: '**/{branch}'
- disable-strict-forbidden-file-verification: 'true'
- forbidden-file-paths:
- - compare-type: ANT
- pattern: 'docs/**'
- - compare-type: ANT
- pattern: 'governance/**'
- - compare-type: ANT
- pattern: '*.txt|.gitignore|.gitreview|INFO|LICENSE'
-
- builders:
- - shell: |
- #!/bin/bash
- set -o errexit
- set -o pipefail
- set -o xtrace
- export PATH=$PATH:/usr/local/bin/
-
- # ut and pep8 check parser/tosca2heat
- echo "Running tox on tosca2heat/tosca-parser ..."
- cd $WORKSPACE/tosca2heat/tosca-parser && tox
- echo "Running tox on tosca2heat/heat-translator ..."
- cd $WORKSPACE/tosca2heat/heat-translator && tox
--- /dev/null
+---
+- project:
+ name: pharos-view
+ views:
+ - project-view
+ project-name: pharos
+++ /dev/null
----
-- project:
- name: promise-rtd
- project: promise
- project-name: promise
-
- project-pattern: 'promise'
- rtd-build-url: 'https://readthedocs.org/api/v2/webhook/opnfv-promise/47386/'
- rtd-token: 'e689330ddc9401d83dd26efbe26a55a6ecd33a0d'
-
- stream:
- - master:
- branch: '{stream}'
- disabled: false
- - gambia:
- branch: 'stable/{stream}'
- disabled: false
-
- jobs:
- - '{project-name}-rtd-jobs'
--- /dev/null
+---
+- project:
+ name: promise-view
+ views:
+ - project-view
+ project-name: promise
+++ /dev/null
----
-- project:
- name: promise
-
- project: '{name}'
-
- jobs:
- - '{project}-verify-basic'
+++ /dev/null
----
-###########################################
-# Experimental jobs for development purpose
-###########################################
-
-- project:
- name: qtip-experimental-jobs
- project: qtip
- jobs:
- - 'qtip-experimental-{pod}-{stream}'
- stream:
- - master:
- branch: '{stream}'
- gs-pathname: ''
- disabled: true
-
- pod:
- - zte-virtual5:
- installer: apex
- pod: zte-virtual5
-
-################################
-## job templates
-#################################
-
-- job-template:
- name: 'qtip-experimental-{pod}-{stream}'
-
- disabled: '{obj:disabled}'
-
- parameters:
- - project-parameter:
- project: '{project}'
- branch: '{branch}'
- - '{installer}-defaults'
- - '{pod}-defaults'
- scm:
- - git-scm-gerrit
-
- triggers:
- - experimental:
- project: '{project}'
- branch: '{branch}'
- files: '**'
-
- builders:
- - shell: |
- #!/bin/bash
- source tests/ci/experimental.sh
+++ /dev/null
----
-- project:
- name: qtip-rtd
- project: qtip
- project-name: qtip
-
- gerrit-skip-vote: true
- project-pattern: 'qtip'
- rtd-build-url: 'https://readthedocs.org/api/v2/webhook/opnfv-qtip/47387/'
- rtd-token: 'eb407b024fbe12c416d012f48db866caf5fbab7c'
-
- jobs:
- - '{project-name}-rtd-jobs'
+++ /dev/null
----
-#######################
-# validate after MERGE
-#######################
-- project:
- name: qtip
- project: qtip
-
- # -------------------------------
- # BRANCH ANCHORS
- # -------------------------------
- master: &master
- stream: master
- branch: '{stream}'
- gs-pathname: ''
- docker-tag: latest
- disabled: false
- fraser: &fraser
- stream: fraser
- branch: 'stable/{stream}'
- gs-pathname: '{stream}'
- docker-tag: 'stable'
- disabled: false
-
- # -------------------------------
- # JOB VARIABLES
- # -------------------------------
- qpi:
- - compute:
- installer: apex
- pod: zte-virtual5
- disabled: true
- sut: node
- <<: *master
- - storage:
- installer: apex
- pod: zte-virtual5
- disabled: true
- sut: ''
- <<: *master
- - network:
- installer: apex
- pod: zte-virtual5
- disabled: true
- sut: ''
- <<: *master
- - compute:
- installer: fuel
- pod: zte-virtual6
- sut: vnf
- <<: *master
- - compute:
- installer: apex
- pod: zte-virtual5
- disabled: true
- sut: node
- <<: *fraser
- - storage:
- installer: apex
- pod: zte-virtual5
- disabled: true
- sut: ''
- <<: *fraser
- - compute:
- installer: fuel
- pod: zte-virtual6
- sut: vnf
- <<: *fraser
-
-
- # -------------------------------
- # JOB LIST
- # -------------------------------
- jobs:
- - 'qtip-{qpi}-{installer}-{pod}-{stream}'
-
-################################
-# job templates
-################################
-- job-template:
- name: 'qtip-{qpi}-{installer}-{pod}-{stream}'
- disabled: '{obj:disabled}'
-
- parameters:
- - project-parameter:
- project: '{project}'
- branch: '{branch}'
- - '{installer}-defaults'
- - '{pod}-defaults'
- - string:
- name: DEPLOY_SCENARIO
- default: generic
- - string:
- name: DOCKER_TAG
- default: '{docker-tag}'
- description: 'Tag to pull docker image'
- - string:
- name: CI_DEBUG
- default: 'false'
- description: "Show debug output information"
- - string:
- name: TEST_SUITE
- default: '{qpi}'
- - string:
- name: TESTAPI_URL
- default: 'http://testresults.opnfv.org/test/api/v1'
- - string:
- name: OPNFV_RELEASE
- default: '{stream}'
- - string:
- name: SUT
- description: "System Under Test"
- default: '{sut}'
- scm:
- - git-scm
-
- wrappers:
- - timeout:
- timeout: 120
- abort: true
- - timestamps
-
- triggers:
- - 'qtip-daily'
-
- builders:
- - description-setter:
- description: "POD: $NODE_NAME"
- - shell: |
- #!/bin/bash
- source tests/ci/periodic.sh
-
- publishers:
- - qtip-common-publishers
- - email-jenkins-admins-on-failure
-
-################
-# MARCOS
-################
-
-# --------
-# builder
-# --------
-
-# ----------
-# parameter
-# ----------
-
-# ----------
-# publisher
-# ----------
-
-- publisher:
- name: qtip-common-publishers
- publishers:
- - email:
- recipients: wu.zhihui1@zte.com.cn, zhang.yujunz@zte.com.cn
-
-# --------
-# trigger
-# --------
-
-- trigger:
- name: 'qtip-daily'
- triggers:
- - timed: '0 15 * * *'
+++ /dev/null
----
-######################
-# verify before MERGE
-######################
-
-- project:
- name: qtip-verify-jobs
- project: qtip
- jobs:
- - 'qtip-verify-{stream}'
- stream:
- - master:
- branch: '{stream}'
- gs-pathname: ''
- disabled: false
- - fraser:
- branch: 'stable/{stream}'
- gs-pathname: '/{stream}'
- disabled: false
-
-################################
-## job templates
-#################################
-- job-template:
- name: 'qtip-verify-{stream}'
-
- disabled: '{obj:disabled}'
-
- parameters:
- - project-parameter:
- project: '{project}'
- branch: '{branch}'
- - 'opnfv-build-ubuntu-defaults'
-
- scm:
- - git-scm-gerrit
-
- triggers:
- - gerrit:
- server-name: 'gerrit.opnfv.org'
- 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: '{project}'
- branches:
- - branch-compare-type: 'ANT'
- branch-pattern: '**/{branch}'
- disable-strict-forbidden-file-verification: 'true'
- forbidden-file-paths:
- - compare-type: ANT
- pattern: 'docs/**|.gitignore'
-
- builders:
- - qtip-unit-tests-and-docs-build
- publishers:
- - publish-coverage
- - email-jenkins-admins-on-failure
-
-# Upload juypter notebook to artifacts for review
-# TODO(yujunz): deal with *.ipynb deletion
-- job-template:
- name: 'qtip-verify-notebook-{stream}'
-
- disabled: '{obj:disabled}'
-
- parameters:
- - project-parameter:
- project: '{project}'
- branch: '{branch}'
- - 'opnfv-build-ubuntu-defaults'
-
- scm:
- - git-scm-gerrit
-
- triggers:
- - gerrit:
- server-name: 'gerrit.opnfv.org'
- 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: '{project}'
- branches:
- - branch-compare-type: 'ANT'
- branch-pattern: '**/{branch}'
- disable-strict-forbidden-file-verification: 'true'
- file-paths:
- - compare-type: ANT
- pattern: '**/*.ipynb'
-
- builders:
- - upload-under-review-notebooks-to-opnfv-artifacts
- - report-build-result-to-gerrit
-
-- job-template:
- name: 'qtip-merged-notebook-{stream}'
-
- disabled: '{obj:disabled}'
-
- parameters:
- - project-parameter:
- project: $GERRIT_PROJECT
- branch: '{branch}'
- - string:
- name: GS_URL
- default: '$GS_BASE{gs-pathname}'
- description: "Directory where the build artifact will be located upon the completion of the build."
-
- scm:
- - git-scm
-
- triggers:
- - gerrit:
- server-name: 'gerrit.opnfv.org'
- trigger-on:
- - change-merged-event
- - comment-added-contains-event:
- comment-contains-value: 'remerge'
- projects:
- - project-compare-type: 'ANT'
- project-pattern: '*'
- branches:
- - branch-compare-type: 'ANT'
- branch-pattern: '**/{branch}'
- file-paths:
- - compare-type: ANT
- pattern: '**/*ipynb'
-
- builders:
- - remove-old-docs-from-opnfv-artifacts
-
-################################
-## job builders
-#################################
-- builder:
- name: qtip-unit-tests-and-docs-build
- builders:
- - shell: |
- #!/bin/bash
- set -o errexit
- set -o pipefail
- set -o xtrace
-
- tox
-
-# modified from upload-under-review-docs-to-opnfv-artifacts
-# in global/releng-macro.yml
-- builder:
- name: upload-under-review-notebooks-to-opnfv-artifacts
- builders:
- - shell: |
- #!/bin/bash
- set -o errexit
- set -o pipefail
- set -o xtrace
- export PATH=$PATH:/usr/local/bin/
-
- [[ $GERRIT_CHANGE_NUMBER =~ .+ ]]
-
- echo
- echo "###########################"
- echo "UPLOADING DOCS UNDER REVIEW"
- echo "###########################"
- echo
-
- gs_base="artifacts.opnfv.org/$PROJECT/review"
- gs_path="$gs_base/$GERRIT_CHANGE_NUMBER"
- local_path="upload/$GERRIT_CHANGE_NUMBER"
-
- mkdir -p $local_path
-
- git diff HEAD~1 --name-status | grep -E "[AM]\t.+\.ipynb$" | awk '{print $2}' \
- | xargs -I '{}' cp '{}' $local_path
- gsutil -m cp -r "$local_path" "gs://$gs_base/"
-
- echo "Document link(s):" >> gerrit_comment.txt
- find "$local_path" | grep -e 'ipynb$' | \
- sed -e "s|^$local_path| https://nbviewer.jupyter.org/url/$gs_path|" >> gerrit_comment.txt
+++ /dev/null
----
-##############################################
-# job configuration for docker build and push
-##############################################
-- project:
-
- name: compass-docker
-
- project: compass-containers
-
- stream:
- - master:
- branch: '{stream}'
- disabled: false
- - euphrates:
- branch: 'stable/{stream}'
- disabled: true
- - gambia:
- branch: 'stable/{stream}'
- disabled: false
-
- arch_tag:
- - 'amd64':
- slave_label: 'opnfv-build-ubuntu'
- docker_file: 'Dockerfile'
- - 'arm64':
- slave_label: 'opnfv-build-ubuntu-arm'
- docker_file: 'Dockerfile-arm64'
-
- # yamllint disable rule:key-duplicates
- image:
- - 'tasks'
- - 'cobbler'
- - 'db'
- - 'deck'
- - 'tasks-base'
- - 'tasks-k8s'
- - 'tasks-osa'
-
- # settings for jobs run in multijob phases
- build-job-settings: &build-job-settings
- current-parameters: false
- git-revision: true
- node-parameters: false
- predefined-parameters: |
- PUSH_IMAGE=$PUSH_IMAGE
- COMMIT_ID=$COMMIT_ID
- GERRIT_REFNAME=$GERRIT_REFNAME
- kill-phase-on: FAILURE
- abort-all-jobs: false
-
- manifest-job-settings: &manifest-job-settings
- current-parameters: false
- git-revision: true
- node-parameters: false
- predefined-parameters:
- GERRIT_REFNAME=$GERRIT_REFNAME
- kill-phase-on: FAILURE
- abort-all-jobs: false
-
- # yamllint enable rule:key-duplicates
- jobs:
- - "compass-docker-{stream}"
- - "compass-{image}-build-{arch_tag}-{stream}"
- - "compass-{image}-manifest-{stream}"
-
-########################
-# job templates
-########################
-- job-template:
- name: 'compass-docker-{stream}'
-
- project-type: multijob
-
- disabled: '{obj:disabled}'
-
- parameters:
- - compass-job-parameters:
- project: '{project}'
- branch: '{branch}'
- slave_label: 'opnfv-build-ubuntu'
- docker_file: 'Dockerfile'
- arch_tag: 'amd64'
-
- properties:
- - throttle:
- max-per-node: 1
- option: 'project'
-
- scm:
- - git-scm
-
- triggers:
- - pollscm:
- cron: "*/30 * * * *"
-
- builders:
- - multijob:
- name: 'build compass-tasks-base images'
- execution-type: PARALLEL
- projects:
- - name: 'compass-tasks-base-build-amd64-{stream}'
- <<: *build-job-settings
- - name: 'compass-tasks-base-build-arm64-{stream}'
- <<: *build-job-settings
- - multijob:
- name: 'publish compass-tasks-base manifests'
- execution-type: PARALLEL
- projects:
- - name: 'compass-tasks-base-manifest-{stream}'
- <<: *manifest-job-settings
- - multijob:
- name: 'build all compass images'
- condition: SUCCESSFUL
- execution-type: PARALLEL
- projects:
- - name: 'compass-cobbler-build-amd64-{stream}'
- <<: *build-job-settings
- - name: 'compass-db-build-amd64-{stream}'
- <<: *build-job-settings
- - name: 'compass-deck-build-amd64-{stream}'
- <<: *build-job-settings
- - name: 'compass-tasks-build-amd64-{stream}'
- <<: *build-job-settings
- - name: 'compass-tasks-k8s-build-amd64-{stream}'
- <<: *build-job-settings
- - name: 'compass-tasks-osa-build-amd64-{stream}'
- <<: *build-job-settings
- - name: 'compass-cobbler-build-arm64-{stream}'
- <<: *build-job-settings
- - name: 'compass-db-build-arm64-{stream}'
- <<: *build-job-settings
- - name: 'compass-deck-build-arm64-{stream}'
- <<: *build-job-settings
- - name: 'compass-tasks-build-arm64-{stream}'
- <<: *build-job-settings
- - name: 'compass-tasks-k8s-build-arm64-{stream}'
- <<: *build-job-settings
- - name: 'compass-tasks-osa-build-arm64-{stream}'
- <<: *build-job-settings
- - multijob:
- name: 'publish all manifests'
- execution-type: PARALLEL
- projects:
- - name: 'compass-cobbler-manifest-{stream}'
- <<: *manifest-job-settings
- - name: 'compass-db-manifest-{stream}'
- <<: *manifest-job-settings
- - name: 'compass-deck-manifest-{stream}'
- <<: *manifest-job-settings
- - name: 'compass-tasks-manifest-{stream}'
- <<: *manifest-job-settings
- - name: 'compass-tasks-k8s-manifest-{stream}'
- <<: *manifest-job-settings
- - name: 'compass-tasks-osa-manifest-{stream}'
- <<: *manifest-job-settings
-
- publishers:
- - 'compass-amd64-recipients'
- - 'compass-arm64-recipients'
-
-- job-template:
- name: 'compass-{image}-build-{arch_tag}-{stream}'
- disabled: '{obj:disabled}'
- parameters:
- - compass-job-parameters:
- project: '{project}'
- branch: '{branch}'
- slave_label: '{slave_label}'
- docker_file: '{docker_file}'
- arch_tag: '{arch_tag}'
- - string:
- name: DOCKER_REPO_NAME
- default: "opnfv/compass-{image}"
- description: "Dockerhub repo to be pushed to."
- - string:
- name: DOCKER_DIR
- default: "compass-{image}"
- description: "Directory containing files needed by the Dockerfile"
- scm:
- - git-scm
- builders:
- - shell:
- !include-raw-escape: ./opnfv-docker.sh
-
-- job-template:
- name: 'compass-{image}-manifest-{stream}'
- disabled: '{obj:disabled}'
- parameters:
- - compass-job-parameters:
- project: '{project}'
- branch: '{branch}'
- slave_label: 'opnfv-build-ubuntu'
- docker_file: 'Dockerfile'
- arch_tag: 'amd64'
- builders:
- - shell: |
- #!/bin/bash -ex
- case "{stream}" in
- "master")
- sudo manifest-tool push from-args \
- --platforms linux/amd64,linux/arm64 \
- --template opnfv/compass-{image}:ARCH-latest \
- --target opnfv/compass-{image}:latest ;;
- *)
- sudo manifest-tool push from-args \
- --platforms linux/amd64,linux/arm64 \
- --template opnfv/compass-{image}:ARCH-stable \
- --target opnfv/compass-{image}:{stream} ;;
- esac
- exit $?
-
-# parameter macro
-- parameter:
- name: compass-job-parameters
- parameters:
- - project-parameter:
- project: '{project}'
- branch: '{branch}'
- - label:
- name: SLAVE_LABEL
- default: '{slave_label}'
- description: 'Slave label on Jenkins'
- all-nodes: false
- node-eligibility: 'ignore-offline'
- - string:
- name: GIT_BASE
- default: https://gerrit.opnfv.org/gerrit/$PROJECT
- description: 'Git URL to use on this Jenkins Slave'
- - string:
- name: PUSH_IMAGE
- default: "true"
- description: "To enable/disable pushing the image to Dockerhub."
- - string:
- name: COMMIT_ID
- default: ""
- description: "commit id to make a snapshot docker image"
- - string:
- name: GERRIT_REFNAME
- default: ""
- description: "Docker tag to be built, e.g. refs/tags/5.0.0, refs/tags/opnfv-5.0.0, refs/tags/5.0.RC1"
- - string:
- name: DOCKERFILE
- default: '{docker_file}'
- description: "Dockerfile to use for creating the image."
- - string:
- name: ARCH_TAG
- default: "{arch_tag}"
- description: "If set, this value will be added to the docker image tag as a prefix"
- - string:
- name: PROJECT
- default: "{project}"
- description: "Project name used to enable job conditions"
-
-# publisher macros
-- publisher:
- name: 'compass-amd64-recipients'
- publishers:
- - email:
- recipients: >
- huangxiangyu5@huawei.com
- wutianwei1@huawei.com
-
-- publisher:
- name: 'compass-arm64-recipients'
- publishers:
- - email:
- recipients: >
- yibo.cai@arm.com
dockerdir: 'docker/storperf-master'
docker_repo_name: 'opnfv/storperf-master'
arch_tag: 'aarch64'
- <<: *gambia
+ <<: *hunter
<<: *storperf-arm-receivers
- 'storperf-graphite':
project: 'storperf'
dockerdir: 'docker/storperf-graphite'
docker_repo_name: 'opnfv/storperf-graphite'
arch_tag: 'aarch64'
- <<: *gambia
+ <<: *hunter
<<: *storperf-arm-receivers
- 'storperf-httpfrontend':
project: 'storperf'
dockerdir: 'docker/storperf-httpfrontend'
docker_repo_name: 'opnfv/storperf-httpfrontend'
arch_tag: 'aarch64'
- <<: *gambia
+ <<: *hunter
<<: *storperf-arm-receivers
- 'storperf-reporting':
project: 'storperf'
dockerdir: 'docker/storperf-reporting'
docker_repo_name: 'opnfv/storperf-reporting'
arch_tag: 'aarch64'
- <<: *gambia
+ <<: *hunter
<<: *storperf-arm-receivers
- 'storperf-swaggerui':
project: 'storperf'
dockerdir: 'docker/storperf-swaggerui'
docker_repo_name: 'opnfv/storperf-swaggerui'
arch_tag: 'aarch64'
- <<: *gambia
+ <<: *hunter
<<: *storperf-arm-receivers
- 'yardstick':
project: 'yardstick'
#
# $ docker ps -a
# CONTAINER ID IMAGE COMMAND ...
- # 6a796ed40b8e opnfv/compass-tasks:latest "/bin/bash" ...
- # 99fcb59f4787 opnfv/compass-tasks-base:latest "/bin/bash" ...
- # cc5eee16b995 opnfv/compass-tasks-k8s "/bin/bash" ...
+ # 6a796ed40b8e opnfv/example-tasks:latest "/bin/bash" ...
+ # 99fcb59f4787 opnfv/example-tasks-base:latest "/bin/bash" ...
+ # cc5eee16b995 opnfv/example-tasks-k8s "/bin/bash" ...
#
# Cut image name by leading space and ending space or colon(tag)
if [[ -n "$(docker ps -a | grep " $DOCKER_REPO_NAME[ :]")" ]]; then
#
# $ docker images
# REPOSITORY TAG IMAGE ID ...
- # opnfv/compass-tasks latest 6501569fd328 ...
- # opnfv/compass-tasks-base latest 8764fe29c434 ...
- # opnfv/compass-tasks-k8s latest 61094cac9e65 ...
+ # opnfv/example-tasks latest 6501569fd328 ...
+ # opnfv/example-tasks-base latest 8764fe29c434 ...
+ # opnfv/example-tasks-k8s latest 61094cac9e65 ...
#
# Cut image name by start of line and ending space
if [[ -n "$(docker images | grep "^$DOCKER_REPO_NAME ")" ]]; then
stream: master
branch: '{stream}'
disabled: false
- danube: &danube
- stream: danube
- branch: 'stable/{stream}'
- disabled: false
- euphrates: &euphrates
- stream: euphrates
- branch: 'stable/{stream}'
- disabled: false
- fraser: &fraser
- stream: fraser
- branch: 'stable/{stream}'
- disabled: false
- gambia: &gambia
- stream: gambia
- branch: 'stable/{stream}'
- disabled: false
hunter: &hunter
stream: hunter
branch: 'stable/{stream}'
disabled: false
- pharos-tools-receivers: &pharos_tools_receivers
+ laas-receivers: &laas_receivers
receivers: >
pberberian@iol.unh.edu
sbergeron@iol.unh.edu
project: 'nfvbench'
<<: *master
<<: *other-receivers
- - 'pharos-tools-laas-dashboard':
- project: 'pharos-tools'
- dockerdir: 'dashboard'
+ - 'laas-dashboard':
+ project: 'laas'
+ dockerdir: '.'
dockerfile: 'web/Dockerfile'
<<: *master
- <<: *pharos_tools_receivers
- - 'pharos-tools-laas-celery':
- project: 'pharos-tools'
- dockerdir: 'dashboard'
+ <<: *laas_receivers
+ - 'laas-celery':
+ project: 'laas'
+ dockerdir: '.'
dockerfile: 'worker/Dockerfile'
<<: *master
- <<: *pharos_tools_receivers
+ <<: *laas_receivers
- 'qtip':
project: 'qtip'
dockerdir: '.'
<<: *master
<<: *yardstick-receivers
- # projects with jobs for euphrates
+ # projects with jobs for hunter
- 'barometer-dma':
project: 'barometer'
dockerdir: 'docker/barometer-dma'
- <<: *gambia
+ <<: *hunter
<<: *other-receivers
- 'barometer-collectd':
project: 'barometer'
dockerdir: 'docker/barometer-collectd'
- <<: *gambia
+ <<: *hunter
<<: *other-receivers
- 'barometer-collectd-experimental':
project: 'barometer'
project: 'barometer'
dockerdir: '.'
dockerfile: 'docker/barometer-collectd-master/Dockerfile'
- <<: *gambia
+ <<: *hunter
<<: *other-receivers
- 'barometer-grafana':
project: 'barometer'
dockerdir: 'docker/barometer-grafana'
- <<: *gambia
+ <<: *hunter
<<: *other-receivers
- 'barometer-influxdb':
project: 'barometer'
dockerdir: 'docker/barometer-influxdb'
- <<: *gambia
+ <<: *hunter
<<: *other-receivers
- 'barometer-kafka':
project: 'barometer'
dockerdir: 'docker/barometer-kafka'
- <<: *gambia
+ <<: *hunter
<<: *other-receivers
- 'barometer-ves':
project: 'barometer'
dockerdir: 'docker/barometer-ves'
- <<: *gambia
+ <<: *hunter
<<: *other-receivers
- 'barometer-snmp':
project: 'barometer'
dockerdir: 'docker/barometer-snmp'
- <<: *gambia
+ <<: *hunter
<<: *other-receivers
- 'bottlenecks':
project: 'bottlenecks'
- <<: *gambia
- <<: *other-receivers
- - 'nfvbench':
- project: 'nfvbench'
- <<: *fraser
- <<: *other-receivers
- - 'qtip':
- project: 'qtip'
- dockerdir: '.'
- dockerfile: 'docker/Dockerfile.local'
- <<: *fraser
+ <<: *hunter
<<: *other-receivers
- 'storperf-master':
project: 'storperf'
dockerdir: 'docker/storperf-master'
arch_tag: 'x86_64'
- <<: *gambia
+ <<: *hunter
<<: *storperf-receivers
- 'storperf-graphite':
project: 'storperf'
dockerdir: 'docker/storperf-graphite'
arch_tag: 'x86_64'
- <<: *gambia
+ <<: *hunter
<<: *storperf-receivers
- 'storperf-httpfrontend':
project: 'storperf'
dockerdir: 'docker/storperf-httpfrontend'
arch_tag: 'x86_64'
- <<: *gambia
+ <<: *hunter
<<: *storperf-receivers
- 'storperf-reporting':
project: 'storperf'
dockerdir: 'docker/storperf-reporting'
arch_tag: 'x86_64'
- <<: *gambia
+ <<: *hunter
<<: *storperf-receivers
- 'storperf-swaggerui':
project: 'storperf'
dockerdir: 'docker/storperf-swaggerui'
arch_tag: 'x86_64'
- <<: *gambia
+ <<: *hunter
<<: *storperf-receivers
- 'yardstick':
project: 'yardstick'
<<: *hunter
<<: *yardstick-receivers
- # projects with jobs for fraser
- - 'bottlenecks':
- project: 'bottlenecks'
- <<: *fraser
- <<: *other-receivers
- - 'clover':
- project: 'clover'
- dockerdir: '.'
- dockerfile: 'docker/Dockerfile'
- <<: *fraser
- <<: *other-receivers
- - 'clover-ns-nginx-lb':
- project: 'clover'
- dockerdir: 'samples/services/nginx/docker'
- dockerfile: 'subservices/lb/Dockerfile'
- <<: *fraser
- <<: *other-receivers
- - 'clover-ns-nginx-proxy':
- project: 'clover'
- dockerdir: 'samples/services/nginx/docker'
- dockerfile: 'subservices/proxy/Dockerfile'
- <<: *fraser
- <<: *other-receivers
- - 'clover-ns-nginx-server':
- project: 'clover'
- dockerdir: 'samples/services/nginx/docker'
- dockerfile: 'subservices/server/Dockerfile'
- <<: *fraser
- <<: *other-receivers
- - 'clover-ns-snort-ids':
- project: 'clover'
- dockerdir: 'samples/services/snort_ids/docker'
- dockerfile: 'Dockerfile'
- <<: *fraser
- <<: *other-receivers
- - 'dovetail':
- project: 'dovetail'
- <<: *fraser
- <<: *other-receivers
# yamllint enable rule:key-duplicates
jobs:
- "{dockerrepo}-docker-build-push-{stream}"
echo "---> Create virtualenv"
sudo -H pip install virtualenv
-virtualenv $WORKSPACE/venv
+virtualenv -p /usr/bin/python3 $WORKSPACE/venv
+
# shellcheck source=$WORKSPACE/venv/bin/activate disable=SC1091
source $WORKSPACE/venv/bin/activate
pip install --upgrade pip
- gambia
- hunter
- iruya
+ - jerma
jobs:
- 'releng-release-{stream}-verify'
--- /dev/null
+---
+- project:
+ name: releng-view
+ views:
+ - common-view
+ view-name: releng
+ view-regex: ^releng.*
--- /dev/null
+---
+- project:
+ name: samplevnf-view
+ views:
+ - project-view
+ project-name: samplevnf
--- /dev/null
+---
+- project:
+ name: sdnvpn-view
+ views:
+ - project-view
+ project-name: sdnvpn
--- /dev/null
+---
+- project:
+ name: sfc-view
+ views:
+ - common-view
+ view-name: sfc
+ view-regex: ^sfc.*
branch: '{stream}'
gs-pathname: ''
disabled: true
- - fraser: &fraser
+ - hunter: &hunter
+ branch: 'stable/{stream}'
+ gs-pathname: '/{stream}'
+ disabled: false
+ - fraser:
branch: 'stable/{stream}'
gs-pathname: '/{stream}'
disabled: true
--- /dev/null
+---
+- project:
+ name: snaps-view
+ views:
+ - project-view
+ project-name: snaps
- master:
branch: '{stream}'
disabled: false
+ - hunter: &hunter
+ branch: 'stable/{stream}'
+ gs-pathname: '/{stream}'
+ disabled: false
- gambia:
branch: 'stable/{stream}'
disabled: false
--- /dev/null
+---
+- project:
+ name: stor4nfv-view
+ views:
+ - project-view
+ project-name: stor4nfv
branch: '{stream}'
gs-pathname: ''
docker-tag: 'latest'
- gambia: &gambia
- stream: gambia
+ hunter: &hunter
+ stream: hunter
branch: 'stable/{stream}'
gs-pathname: '/{stream}'
disabled: false
# slave-label: joid-virtual
# installer: joid
# <<: *master
- # # compass CI PODs
- # - baremetal:
- # slave-label: compass-baremetal
- # installer: compass
- # <<: *master
- # - virtual:
- # slave-label: compass-virtual
- # installer: compass
- # <<: *master
# # apex CI PODs
# - virtual:
# slave-label: apex-virtual-master
- baremetal:
slave-label: apex-baremetal-master
installer: apex
- <<: *gambia
+ <<: *hunter
## armband CI PODs
# - armband-baremetal:
# slave-label: armband-baremetal
gs-pathname: ''
disabled: false
docker-tag: 'latest'
- - gambia: &gambia
+ - hunter: &hunter
branch: 'stable/{stream}'
gs-pathname: '/{stream}'
disabled: false
--- /dev/null
+---
+- project:
+ name: storperf
+ - common-view
+ view-name: storperf-view
+ view-regex: ^storperf.*
gs-pathname: ''
disabled: false
docker-tag: 'latest'
- - gambia: &gambia
+ - hunter: &hunter
branch: 'stable/{stream}'
gs-pathname: '/{stream}'
disabled: false
--- /dev/null
+---
+- project:
+ name: ves-view
+ views:
+ - project-view
+ project-name: ves
--- /dev/null
+---
+- project:
+ name: vswitchperf-view
+ views:
+ - project-view
+ project-name: vswitchperf
stream:
- master:
branch: '{stream}'
- disabled: false
+ disabled: true
# -------------------------------
# distros
# -------------------------------
distro:
- ubuntu:
- disabled: false
+ disabled: true
kill-phase-on: FAILURE
abort-all-job: true
- centos:
kill-phase-on: NEVER
abort-all-job: false
- opensuse:
- disabled: false
+ disabled: true
kill-phase-on: FAILURE
abort-all-job: true
# -------------------------------
if [[ "$GERRIT_TOPIC" =~ skip-verify|skip-deployment|force-verify ]]; then
[[ "$GERRIT_TOPIC" =~ force-verify ]] && echo "Forcing CI verification using default scenario and installer!"
[[ "$GERRIT_TOPIC" =~ skip-verify|skip-deployment ]] && echo "Skipping verification!"
- echo "INSTALLER_TYPE=osa" > $WORK_DIRECTORY/scenario.properties
+ echo "INSTALLER_TYPE=osa" >> $WORK_DIRECTORY/scenario.properties
echo "DEPLOY_SCENARIO=os-nosdn-nofeature" >> $WORK_DIRECTORY/scenario.properties
echo "XCI_SHA=$XCI_SHA" >> $WORK_DIRECTORY/scenario.properties
echo "SCENARIO_SHA=$SCENARIO_SHA" >> $WORK_DIRECTORY/scenario.properties
echo "PROJECT_NAME=$GERRIT_PROJECT" >> $WORK_DIRECTORY/scenario.properties
+ log_scenario_properties
exit 0
fi
echo "Installer type or deploy scenario is not specified. Falling back to programmatically determining them."
else
echo "Recording the installer '$INSTALLER_TYPE' and scenario '$DEPLOY_SCENARIO' for downstream jobs"
- echo "INSTALLER_TYPE=$INSTALLER_TYPE" > $WORK_DIRECTORY/scenario.properties
+ echo "INSTALLER_TYPE=$INSTALLER_TYPE" >> $WORK_DIRECTORY/scenario.properties
echo "DEPLOY_SCENARIO=$DEPLOY_SCENARIO" >> $WORK_DIRECTORY/scenario.properties
echo "XCI_SHA=$XCI_SHA" >> $WORK_DIRECTORY/scenario.properties
echo "SCENARIO_SHA=$SCENARIO_SHA" >> $WORK_DIRECTORY/scenario.properties
echo "PROJECT_NAME=$GERRIT_PROJECT" >> $WORK_DIRECTORY/scenario.properties
+ log_scenario_properties
exit 0
fi
else
SCENARIO_SHA=$(cd $WORK_DIRECTORY/$GERRIT_PROJECT && git rev-parse HEAD)
}
+# This function allows developers to specify the specific XCI flavor for the
+# impacted scenario by adding the XCI Flavor info about the specific scenario.
+# This results in either skipping the real verification
+# totally or skipping the determining the installer and scenario programmatically.
+# It is important to note that this feature is only available to generic scenarios
+# and only single installer/scenario pair is allowed.
+# The input in commit message should be placed at the end of the commit message body,
+# before the signed-off and change-id lines.
+#
+# Pattern to be searched in Commit Message
+# xci-flavor:<xci-flavor>
+# Examples:
+# xci-flavor:noha
+function override_xci_flavor() {
+ echo "Processing $GERRIT_PROJECT patchset $GERRIT_REFSPEC"
+
+ # process commit message for XCI Flavor
+ if [[ "$GERRIT_CHANGE_COMMIT_MESSAGE" =~ "xci-flavor:" ]]; then
+ XCI_FLAVOR=$(echo $GERRIT_CHANGE_COMMIT_MESSAGE | awk '/xci-flavor:/' RS=" " | cut -d":" -f2)
+
+ if [[ -z "$XCI_FLAVOR" ]]; then
+ XCI_FLAVOR='mini'
+ echo "XCI flavor is not specified. The default is specified instead (i.e. mini). Falling back to programmatically determining them."
+ echo "XCI_FLAVOR=mini" >> $WORK_DIRECTORY/scenario.properties
+ else
+ echo "Recording the XCI flavor '$XCI_FLAVOR' for downstream jobs"
+ echo "XCI_FLAVOR=$XCI_FLAVOR" >> $WORK_DIRECTORY/scenario.properties
+ fi
+ else
+ XCI_FLAVOR='mini'
+ echo "XCI flavor is not specified. The default is specified instead (i.e. mini). Falling back to programmatically determining them."
+ echo "XCI_FLAVOR=mini" >> $WORK_DIRECTORY/scenario.properties
+ fi
+
+}
+
+function log_scenario_properties() {
+ echo "Processing $GERRIT_PROJECT patchset $GERRIT_REFSPEC"
+ echo "-------------------------------------------------------------------------"
+ cat $WORK_DIRECTORY/scenario.properties
+ echo "-------------------------------------------------------------------------"
+}
+
echo "Determining the impacted scenario"
declare -a DEPLOY_SCENARIO
else
determine_scenario
fi
+override_xci_flavor
override_scenario
# ensure single scenario is impacted
# save the installer and scenario names into java properties file
# so they can be injected to downstream jobs via envInject
echo "Recording the installer '$INSTALLER_TYPE' and scenario '${DEPLOY_SCENARIO[0]}' and SHAs for downstream jobs"
-echo "INSTALLER_TYPE=$INSTALLER_TYPE" > $WORK_DIRECTORY/scenario.properties
+echo "INSTALLER_TYPE=$INSTALLER_TYPE" >> $WORK_DIRECTORY/scenario.properties
echo "DEPLOY_SCENARIO=$DEPLOY_SCENARIO" >> $WORK_DIRECTORY/scenario.properties
echo "XCI_SHA=$XCI_SHA" >> $WORK_DIRECTORY/scenario.properties
echo "SCENARIO_SHA=$SCENARIO_SHA" >> $WORK_DIRECTORY/scenario.properties
echo "PROJECT_NAME=$GERRIT_PROJECT" >> $WORK_DIRECTORY/scenario.properties
+# log scenario.properties to console to ease the troubleshooting when needed
+log_scenario_properties
+
# skip scenario support check if the job is promotion job
if [[ "$JOB_NAME" =~ (os|k8) ]]; then
exit 0
notbuilt: true
- opensuse:
disabled: false
- successful: false
- failed: false
- unstable: false
- notbuilt: false
+ successful: true
+ failed: true
+ unstable: true
+ notbuilt: true
# -------------------------------
# type
# -------------------------------
--- /dev/null
+---
+- project:
+ name: xci-view
+ views:
+ - project-view
+ project-name: xci
installer: joid
auto-trigger-name: 'daily-trigger-disabled'
<<: *hunter
- # compass CI PODs
- - baremetal:
- slave-label: compass-baremetal
- installer: compass
- auto-trigger-name: 'daily-trigger-disabled'
- <<: *master
- - virtual:
- slave-label: compass-virtual
- installer: compass
- auto-trigger-name: 'daily-trigger-disabled'
- <<: *master
- - baremetal:
- slave-label: compass-baremetal
- installer: compass
- auto-trigger-name: 'daily-trigger-disabled'
- <<: *hunter
- - virtual:
- slave-label: compass-virtual
- installer: compass
- auto-trigger-name: 'daily-trigger-disabled'
- <<: *hunter
# daisy CI PODs
- baremetal:
slave-label: daisy-baremetal
installer: joid
auto-trigger-name: 'daily-trigger-disabled'
<<: *master
+ - itri-pod1:
+ slave-label: '{pod}'
+ installer: fuel
+ auto-trigger-name: 'daily-trigger-disabled'
+ <<: *master
- zte-pod1:
slave-label: '{pod}'
installer: fuel
installer: joid
auto-trigger-name: 'daily-trigger-disabled'
<<: *master
- - huawei-pod3:
- slave-label: '{pod}'
- installer: compass
- auto-trigger-name: 'yardstick-daily-huawei-pod3-trigger'
- <<: *master
- - huawei-pod4:
- slave-label: '{pod}'
- installer: compass
- auto-trigger-name: 'yardstick-daily-huawei-pod4-trigger'
- <<: *master
- - baremetal-centos:
- slave-label: 'intel-pod8'
- installer: compass
- auto-trigger-name: 'daily-trigger-disabled'
- <<: *master
- flex-pod1:
slave-label: '{pod}'
installer: apex
description: 'Arguments to use in order to choose the backend DB'
- parameter:
- name: 'yardstick-params-compass-baremetal'
+ name: 'yardstick-params-daisy-baremetal'
parameters:
- string:
name: YARDSTICK_DB_BACKEND
description: 'Arguments to use in order to choose the backend DB'
- parameter:
- name: 'yardstick-params-daisy-baremetal'
+ name: 'yardstick-params-daisy-virtual'
parameters:
- string:
name: YARDSTICK_DB_BACKEND
description: 'Arguments to use in order to choose the backend DB'
- parameter:
- name: 'yardstick-params-daisy-virtual'
+ name: 'yardstick-params-itri-pod1'
parameters:
- string:
name: YARDSTICK_DB_BACKEND
default: '-i 104.197.68.199:8086'
description: 'Arguments to use in order to choose the backend DB'
-- parameter:
- name: 'yardstick-params-compass-virtual'
- parameters:
- - string:
- name: YARDSTICK_DB_BACKEND
- default: '-i 104.197.68.199:8086'
- description: 'Arguments to use in order to choose the backend DB'
-
- parameter:
name: 'yardstick-params-huawei-pod3'
parameters:
# 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
fi
-elif [[ ${INSTALLER_TYPE} == 'compass' ]]; then
- if [[ "${DEPLOY_SCENARIO:0:2}" == "k8" ]];then
- rc_file_vol="-v ${HOME}/admin.conf:/etc/yardstick/admin.conf"
- else
- cacert_file_vol="-v ${HOME}/os_cacert:/etc/yardstick/os_cacert"
- echo "export OS_CACERT=/etc/yardstick/os_cacert" >> ${HOME}/opnfv-openrc.sh
- fi
elif [[ ${INSTALLER_TYPE} == 'fuel' ]]; then
if [[ "${DEPLOY_SCENARIO:0:2}" == 'k8' ]]; then
rc_file_vol="-v ${HOME}/admin.conf:/etc/yardstick/admin.conf"
if [[ "${DEPLOY_SCENARIO:0:2}" == "k8" ]];then
if [[ ${INSTALLER_TYPE} == 'joid' ]];then
juju scp kubernetes-master/0:config "${dest_path}"
- elif [[ ${INSTALLER_TYPE} == 'compass' ]];then
- echo "Copy admin.conf to ${dest_path}"
- docker cp compass-tasks:/opt/admin.conf "${dest_path}"
elif [[ ${INSTALLER_TYPE} == 'fuel' ]];then
echo "Getting kubernetes config ..."
docker cp -L fuel:/opt/kubernetes.config "${dest_path}"
fail: true
builders:
- - yardstick-unit-tests-python-27
- yardstick-unit-tests-python-3
- - yardstick-functional-tests-python-27
- yardstick-functional-tests-python-3
- yardstick-coverage-tests
- yardstick-pep8-tests
fail: true
builders:
- - yardstick-unit-tests-python-27
- yardstick-unit-tests-python-3
- - yardstick-functional-tests-python-27
- yardstick-functional-tests-python-3
- yardstick-coverage-tests
- yardstick-pep8-tests
# job builders
################################
-- builder:
- name: yardstick-unit-tests-python-27
- builders:
- - shell: |
- #!/bin/bash
- set -o errexit
- set -o pipefail
-
- sudo apt-get -y autoremove
- sudo apt-get install -y build-essential python-dev python3-dev
- sudo apt-get -y clean && sudo apt-get -y autoremove
-
- echo "Running unit tests in Python 2.7 ..."
- cd $WORKSPACE
- tox -epy27
-
- builder:
name: yardstick-unit-tests-python-3
builders:
cd $WORKSPACE
tox -epy3
-- builder:
- name: yardstick-functional-tests-python-27
- builders:
- - shell: |
- #!/bin/bash
- set -o errexit
- set -o pipefail
-
- sudo apt-get -y autoremove
- sudo apt-get install -y build-essential python-dev python3-dev rabbitmq-server
- sudo apt-get -y clean && sudo apt-get -y autoremove
-
- echo "Configure RabbitMQ service"
- sudo service rabbitmq-server restart
- sudo rabbitmqctl start_app
- if [ -z "$(sudo rabbitmqctl list_users | grep yardstick)" ]; then
- sudo rabbitmqctl add_user yardstick yardstick
- sudo rabbitmqctl set_permissions yardstick ".*" ".*" ".*"
- fi
-
- echo "Running functional tests in Python 2.7 ..."
- cd $WORKSPACE
- tox -efunctional
-
- builder:
name: yardstick-functional-tests-python-3
builders:
release-model: stable
upstream: https://wiki.openstack.org/wiki/TripleO
+releases:
+ - version: opnfv-8.0.0
+ location:
+ apex: 5a60fc71848a60ee51837b7dc7a49dda741876cd
+
branches:
- name: stable/hunter
location:
--- /dev/null
+# SPDX-License-Identifier: Apache-2.0
+##############################################################################
+# Copyright (c) 2018 The Linux Foundation and others.
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+##############################################################################
+---
+project: barometer
+project-type: feature
+release-model: stable
+
+releases:
+ - version: opnfv-8.1.0
+ location:
+ barometer: 6fe9f36a63e71bd4614260cca0664b02b95c8b9c
+
+branches:
+ - name: stable/hunter
+ location:
+ barometer: 6fe9f36a63e71bd4614260cca0664b02b95c8b9c
--- /dev/null
+---
+project: bottlenecks
+project-type: testing
+release-model: stable
+
+branches:
+ - name: stable/hunter
+ location:
+ bottlenecks: 80edaf3c201bec85fe8a403e03b68899c08df3bb
+
+releases:
+ - version: opnfv-8.0.0
+ location:
+ bottlenecks: 80edaf3c201bec85fe8a403e03b68899c08df3bb
project-type: feature
release-model: stable
+releases:
+ - version: opnfv-8.0.0
+ location:
+ clover: 1301c1842b5b678a1c91ce6d81b1df85135186b6
+
branches:
- name: stable/hunter
location:
clover: 3f86a3d611f4d2a4f21d9be2a2284ccf120db36e
+
+release-notes: https://opnfv-clover.readthedocs.io/en/stable-hunter/release/release-notes/release-notes.html
--- /dev/null
+---
+project: container4nfv
+project-type: feature
+release-model: stable
+
+branches:
+ - name: stable/hunter
+ location:
+ container4nfv: 7a5ffe11c53e77e16383e712aad823e333b61aff
--- /dev/null
+---
+project: cran
+project-type: feature
+release-model: stable
+
+branches:
+ - name: stable/hunter
+ location:
+ cran: 60a2982c7b9de09880005b23da88bff0a8d59467
project-type: feature
release-model: stable
+releases:
+ - version: opnfv-8.0.0
+ location:
+ doctor: 3eb8e9800215f25712d62160042e472f63cec1e1
+
branches:
- name: stable/hunter
location:
doctor: 73605c5c34b97ab56306bfa9af0f5888f3c7e46d
+
+release-notes: https://opnfv-doctor.readthedocs.io/en/stable-hunter/release/release-notes/index.html#doctor-releasenotes
--- /dev/null
+---
+project: edgecloud
+project-type: feature
+release-model: stable
+
+branches:
+ - name: stable/hunter
+ location:
+ edgecloud: 0aa38f991cc8defd2cf46bea93f16938a3d66927
location:
fuel: f021e19b4797eb4f6830d86056fce919f1e1fe01
+releases:
+ - version: opnfv-8.0.0
+ location:
+ fuel: 4e64c8495d8cddab653e7b6f8db1d4335755d4c9
+ - version: opnfv-8.1.0
+ location:
+ fuel: 09ec1e9cc02268c45d5cfd5a289b53a52d9c6e94
+
release-notes: https://opnfv-fuel.readthedocs.io/en/latest/release/release-notes/release-notes.html
project-type: feature
release-model: stable
+releases:
+ - version: opnfv-8.0.0
+ location:
+ ipv6: b113174fa52a1ac4bd20bdbdaea86b07897e7091
+ - version: opnfv-8.1.0
+ location:
+ ipv6: 9d3f926814387835029d80e49b8dfc9102c4ece7
+
branches:
- name: stable/hunter
location:
- name: stable/hunter
location:
stor4nfv: fe427fc3f69ecc5e104a6fdb2c9f5d82f0254fdb
+
+release-notes: https://opnfv-stor4nfv.readthedocs.io/en/latest/release/release-notes/release-notes.html
--- /dev/null
+---
+project: storperf
+project-type: testing
+release-model: stable
+
+branches:
+ - name: stable/hunter
+ location:
+ storperf: cc15a771fa60ddd63ac0a7eee3b43eb9f8cf2334
- name: stable/hunter
location:
yardstick: 85899baa90714ae15add21a330316793071168ae
+
+releases:
+ - version: opnfv-8.0.0
+ location:
+ yardstick: 9bd54d7914f4c025d4a50611f726d6154f914c7b
+
+release-notes: https://opnfv-yardstick.readthedocs.io/en/latest/release/release-notes/release-notes.html
--- /dev/null
+# SPDX-License-Identifier: Apache-2.0
+##############################################################################
+# Copyright (c) 2018 The Linux Foundation and others.
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+##############################################################################
+---
+project: airship
+project-type: installer
+release-model: stable
+
+branches:
+ - name: stable/iruya
+ location:
+ airship: 425c6b76dbb4bbf172f866b914009a547511615b
+
+release-notes: https://opnfv-airship.readthedocs.io/en/stable-iruya/release/release-notes/
--- /dev/null
+# SPDX-License-Identifier: Apache-2.0
+##############################################################################
+# Copyright (c) 2019 Nokia Corporation and others.
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+##############################################################################
+---
+project: doctor
+project-type: feature
+release-model: stable
+
+branches:
+ - name: stable/iruya
+ location:
+ doctor: b530bac56e3d35bf69e23595aa5bb9c3ceea61b6
--- /dev/null
+---
+project: fds
+project-type: feature
+release-model: stable
+
+branches:
+ - name: stable/iruya
+ location:
+ fds: 20cef81fd594f10949e151fd5a0a439af0a844e4
--- /dev/null
+# SPDX-License-Identifier: Apache-2.0
+##############################################################################
+# Copyright (c) 2019 The Linux Foundation and others.
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+##############################################################################
+---
+project: fuel
+project-type: installer
+release-model: stable
+
+branches:
+ - name: stable/iruya
+ location:
+ fuel: d8f0a6b4fd9c3cb10780abcbd9b446c48b08cced
--- /dev/null
+---
+project: functest
+project-type: testing
+release-model: stable
+
+branches:
+ - name: stable/jerma
+ location:
+ functest: 574243656df6acae28094c62f33410ef1fc3e7b5
+ - name: stable/jerma
+ location:
+ functest-kubernetes: bd28b49aa1ba7d8127144c2a3eef0536d9bdc606
+ - name: stable/jerma
+ location:
+ functest-xtesting: 4bef764e2b3976f73e91fed7bca97b40d4123522
PYTHONPATH = {toxinidir}
[testenv:jjb]
+basepython = python3
deps =
jenkins-job-builder==2.5.0
commands=
jenkins-jobs test -o job_output -r {posargs:"jjb/"}
[testenv:docs]
+basepython = python3
deps = -r{toxinidir}/docs/requirements.txt
commands =
sphinx-build -b html -n -d {envtmpdir}/doctrees ./docs {toxinidir}/docs/_build/html
whitelist_externals = echo
[testenv:docs-linkcheck]
+basepython = python3
deps = -r{toxinidir}/docs/requirements.txt
commands = sphinx-build -b linkcheck -d {envtmpdir}/doctrees ./docs {toxinidir}/docs/_build/linkcheck
'lf-pod1' 'lf-pod2' \
'lf-virtual2' 'lf-virtual3' \
'intel-pod12' 'intel-pod18' \
+'itri-pod1' \
'ericsson-pod1' 'ericsson-pod2' \
'ericsson-virtual1' 'ericsson-virtual2' 'ericsson-virtual3' \
'ericsson-virtual4' 'ericsson-virtual5' \