summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--INFO31
-rw-r--r--docs/ci/index.rst1
-rw-r--r--docs/infra/index.rst2
-rw-r--r--docs/infra/jenkins/connect-to-jenkins.rst26
-rw-r--r--docs/release/index.rst1
-rwxr-xr-xjjb/apex/apex-build.sh11
-rwxr-xr-xjjb/apex/apex-deploy.sh9
-rwxr-xr-xjjb/apex/apex-download-artifact.sh5
-rw-r--r--jjb/apex/apex-snapshot-create.sh4
-rw-r--r--jjb/apex/apex-verify-jobs.yaml11
-rw-r--r--jjb/apex/apex.yaml89
-rw-r--r--jjb/apex/apex.yaml.j261
-rw-r--r--jjb/apex/scenarios.yaml.hidden2
-rw-r--r--jjb/armband/armband-ci-jobs.yaml2
-rw-r--r--jjb/doctor/doctor.yaml4
-rw-r--r--jjb/fuel/fuel-daily-jobs.yaml16
-rw-r--r--jjb/functest/functest-daily-jobs.yaml29
-rw-r--r--jjb/releng/compass4nfv-docker.yaml89
-rw-r--r--jjb/releng/releng-release-create-venv.sh (renamed from jjb/releng/releng-release-verify.sh)23
-rw-r--r--jjb/releng/releng-release-jobs.yaml32
-rw-r--r--jjb/releng/releng-release-tagging.sh70
-rw-r--r--releases/fraser/apex.yaml12
-rw-r--r--releases/fraser/armband.yaml (renamed from releases/fraser/armband.yml)3
-rw-r--r--releases/fraser/auto.yaml8
-rw-r--r--releases/fraser/availability.yaml4
-rw-r--r--releases/fraser/barometer.yaml4
-rw-r--r--releases/fraser/bottlenecks.yaml3
-rw-r--r--releases/fraser/calipso.yaml5
-rw-r--r--releases/fraser/clover.yaml3
-rw-r--r--releases/fraser/compass4nfv.yaml7
-rw-r--r--releases/fraser/container4nfv.yaml3
-rw-r--r--releases/fraser/doctor.yaml4
-rw-r--r--releases/fraser/fds.yaml5
-rw-r--r--releases/fraser/fuel.yaml3
-rw-r--r--releases/fraser/functest.yaml6
-rw-r--r--releases/fraser/ipv6.yaml5
-rw-r--r--releases/fraser/joid.yaml4
-rw-r--r--releases/fraser/nfvbench.yaml3
-rw-r--r--releases/fraser/opnfvdocs.yaml3
-rw-r--r--releases/fraser/ovn4nfv.yaml3
-rw-r--r--releases/fraser/samplevnf.yaml3
-rw-r--r--releases/fraser/sdnvpn.yaml3
-rw-r--r--releases/fraser/sfc.yaml4
-rw-r--r--releases/fraser/snaps.yaml3
-rw-r--r--releases/fraser/stor4nfv.yaml3
-rw-r--r--releases/fraser/storperf.yaml3
-rw-r--r--releases/fraser/vswitchperf.yaml3
-rw-r--r--releases/fraser/yardstick.yaml3
-rw-r--r--releases/scripts/release-status.sh25
-rw-r--r--releases/scripts/repos.py60
50 files changed, 529 insertions, 187 deletions
diff --git a/INFO b/INFO
deleted file mode 100644
index d9051abdc..000000000
--- a/INFO
+++ /dev/null
@@ -1,31 +0,0 @@
-Project: Release Engineering (Releng)
-Project Creation Date: July 14, 2015
-Project Category: Integration & Testing
-Lifecycle State: Incubation
-Primary Contact: Fatih Degirmenci
-Project Lead: Fatih Degirmenci
-Jira Project Name: Release Engineering
-Jira Project Prefix: RELENG
-Mailing list tag: [releng]
-IRC: Server:freenode.net Channel:#opnfv-octopus
-Repository: releng
-Other Repositories: releng-xci, releng-testresults
-
-Committers:
-Fatih Degirmenci (Ericsson, fatih.degirmenci@ericsson.com)
-Aric Gardner (Linux Foundation, agardner@linuxfoundation.org)
-Tim Rozet (Red Hat, trozet@redhat.com)
-Morgan Richomme (Orange, morgan.richomme@orange.com)
-Jose Lausuch (Ericsson, jose.lausuch@ericsson.com)
-Ryota Mibu (NEC, r-mibu@cq.jp.nec.com)
-Mei Mei (Huawei, meimei@huawei.com)
-Trevor Bramwell (Linux Foundation, tbramwell@linuxfoundation.org)
-Serena Feng (ZTE, feng.xiaowei@zte.com.cn)
-Yolanda Robla Mota (Red Hat, yroblamo@redhat.com)
-Markos Chandras (SUSE, mchandras@suse.de)
-Luke Hinds (Red Hat, lhinds@redhat.com)
-
-Link to TSC approval of the project: http://ircbot.wl.linuxfoundation.org/meetings/opnfv-meeting/2015/opnfv-meeting.2015-07-14-14.00.html
-Link to TSC voting for removal of Victor Laza as committer: http://meetbot.opnfv.org/meetings/opnfv-meeting/2016/opnfv-meeting.2016-02-16-14.59.html
-Link to nomination and acceptance of Mei Mei as committer: http://lists.opnfv.org/pipermail/opnfv-tsc/2016-March/002228.html
-Links to nomination and accceptance of Trevor Bramwell as committer: http://lists.opnfv.org/pipermail/opnfv-tech-discuss/2016-July/011659.html and http://lists.opnfv.org/pipermail/opnfv-tech-discuss/2016-July/011714.html
diff --git a/docs/ci/index.rst b/docs/ci/index.rst
index da6fc7de1..08f23ac2f 100644
--- a/docs/ci/index.rst
+++ b/docs/ci/index.rst
@@ -11,7 +11,6 @@ OPNFV CI
TBD
.. toctree::
- :numbered:
:maxdepth: 2
user-guide
diff --git a/docs/infra/index.rst b/docs/infra/index.rst
index 50c971e75..248e8230c 100644
--- a/docs/infra/index.rst
+++ b/docs/infra/index.rst
@@ -70,7 +70,7 @@ Issue and Bug Tracking
JIRA
.. toctree::
- :maxdepth:
+ :maxdepth: 1
jira/user-guide
diff --git a/docs/infra/jenkins/connect-to-jenkins.rst b/docs/infra/jenkins/connect-to-jenkins.rst
index e83cadada..ddf345fa3 100644
--- a/docs/infra/jenkins/connect-to-jenkins.rst
+++ b/docs/infra/jenkins/connect-to-jenkins.rst
@@ -113,54 +113,80 @@ 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.
+
- openjdk 8
- monit
+
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.
+
- docker
- libvirt
+
4. Create slave root in Jenkins user home directory.
+
``mkdir -p /home/jenkins/opnfv/slave_root``
+
5. Clone OPNFV Releng Git repository.
+
``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.
+
- 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.
+
``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``
- If you receive an error, follow the steps listed on the command output.
+
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.
+
``sudo ./jenkins-jnlp-connect.sh -j /home/jenkins -u jenkins -n <slave name on OPNFV Jenkins> -s <the token you received from LF> -t``
- 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.
+
9. Kill the Java slave.jar process.
10. Run the same script normally without test(-t) in order to get monit script created.
+
``sudo ./jenkins-jnlp-connect.sh -j /home/jenkins -u jenkins -n <slave name on OPNFV Jenkins> -s <the token you received from LF>``
+
11. Edit monit configuration and enable http interface. The file to edit is /etc/monit/monitrc on Ubuntu systems. Uncomment below lines.
+
set httpd port 2812 and
use address localhost # only accept connection from localhost
allow localhost # allow localhost to connect to the server and
+
12. Restart monit service.
+
- Without systemd:
``sudo service monit restart``
+
- With systemd: you have to enable monit service first and then restart it.
``sudo systemctl enable monit``
``sudo systemctl restart monit``
+
13. Check to see if jenkins comes up as managed service in monit.
+
``sudo monit status``
+
14. Connect slave to OPNFV Jenkins using monit.
+
``sudo monit start jenkins``
+
15. 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
diff --git a/docs/release/index.rst b/docs/release/index.rst
index 49cd00bdb..e814bec02 100644
--- a/docs/release/index.rst
+++ b/docs/release/index.rst
@@ -9,7 +9,6 @@ Releasing OPNFV
===============
.. toctree::
- :numbered:
:maxdepth: 2
release-process
diff --git a/jjb/apex/apex-build.sh b/jjb/apex/apex-build.sh
index aabd20e30..09aa716be 100755
--- a/jjb/apex/apex-build.sh
+++ b/jjb/apex/apex-build.sh
@@ -12,21 +12,26 @@ echo
if echo $ARTIFACT_VERSION | grep "dev" 1> /dev/null; then
GERRIT_PATCHSET_NUMBER=$(echo $GERRIT_REFSPEC | grep -Eo '[0-9]+$')
export OPNFV_ARTIFACT_VERSION="dev${GERRIT_CHANGE_NUMBER}_${GERRIT_PATCHSET_NUMBER}"
- export BUILD_ARGS="-r $OPNFV_ARTIFACT_VERSION -c $CACHE_DIRECTORY"
+ if [ "$BRANCH" == 'master' ]; then
+ # build rpm
+ export BUILD_ARGS="-r $OPNFV_ARTIFACT_VERSION -c $CACHE_DIRECTORY --rpms"
+ else
+ export BUILD_ARGS="-r $OPNFV_ARTIFACT_VERSION -c $CACHE_DIRECTORY"
+ fi
elif echo $BUILD_TAG | grep "csit" 1> /dev/null; then
export OPNFV_ARTIFACT_VERSION=csit${BUILD_NUMBER}
export BUILD_ARGS="-r $OPNFV_ARTIFACT_VERSION -c $CACHE_DIRECTORY"
elif [ "$ARTIFACT_VERSION" == "daily" ]; then
export OPNFV_ARTIFACT_VERSION=$(date -u +"%Y-%m-%d")
if [ "$BRANCH" == 'master' ]; then
- export BUILD_ARGS="-r $OPNFV_ARTIFACT_VERSION -c $CACHE_DIRECTORY"
+ export BUILD_ARGS="-r $OPNFV_ARTIFACT_VERSION -c $CACHE_DIRECTORY --rpms"
else
export BUILD_ARGS="-r $OPNFV_ARTIFACT_VERSION -c $CACHE_DIRECTORY --iso"
fi
else
export OPNFV_ARTIFACT_VERSION=${ARTIFACT_VERSION}
if [ "$BRANCH" == 'master' ]; then
- export BUILD_ARGS="-r $OPNFV_ARTIFACT_VERSION -c $CACHE_DIRECTORY"
+ export BUILD_ARGS="-r $OPNFV_ARTIFACT_VERSION -c $CACHE_DIRECTORY --rpms"
else
export BUILD_ARGS="-r $OPNFV_ARTIFACT_VERSION -c $CACHE_DIRECTORY --iso"
fi
diff --git a/jjb/apex/apex-deploy.sh b/jjb/apex/apex-deploy.sh
index 35c2b8544..dfaf2a8b5 100755
--- a/jjb/apex/apex-deploy.sh
+++ b/jjb/apex/apex-deploy.sh
@@ -118,11 +118,8 @@ if [[ "$JOB_NAME" =~ "virtual" ]]; then
if [[ "${DEPLOY_SCENARIO}" =~ fdio|ovs ]]; then
DEPLOY_CMD="${DEPLOY_CMD} --virtual-default-ram 12 --virtual-compute-ram 7"
fi
- if [[ "$JOB_NAME" == *csit* ]]; then
- DEPLOY_CMD="${DEPLOY_CMD} -e csit-environment.yaml"
- fi
if [[ "$PROMOTE" == "True" ]]; then
- DEPLOY_CMD="${DEPLOY_CMD} --virtual-computes 1"
+ DEPLOY_CMD="${DEPLOY_CMD} --virtual-computes 2 -e csit-environment.yaml"
fi
else
# settings for bare metal deployment
@@ -144,6 +141,8 @@ fi
if [ "$IPV6_FLAG" == "True" ]; then
NETWORK_FILE="${NETWORK_SETTINGS_DIR}/network_settings_v6.yaml"
+elif [[ "$PROMOTE" == "True" ]]; then
+ NETWORK_FILE="${NETWORK_SETTINGS_DIR}/network_settings_csit.yaml"
else
NETWORK_FILE="${NETWORK_SETTINGS_DIR}/network_settings.yaml"
fi
@@ -157,7 +156,7 @@ fi
# start deployment
sudo ${DEPLOY_CMD} -d ${DEPLOY_FILE} -n ${NETWORK_FILE} --debug
-if [[ "$JOB_NAME" == *csit* ]]; then
+if [[ "$PROMOTE" == 'True' ]]; then
echo "CSIT job: setting host route for floating ip routing"
# csit route to allow docker container to reach floating ips
UNDERCLOUD=$(sudo virsh domifaddr undercloud | grep -Eo "[0-9\.]+{3}[0-9]+")
diff --git a/jjb/apex/apex-download-artifact.sh b/jjb/apex/apex-download-artifact.sh
index 3efe1cbc7..e1e51b3b6 100755
--- a/jjb/apex/apex-download-artifact.sh
+++ b/jjb/apex/apex-download-artifact.sh
@@ -45,10 +45,9 @@ else
RPM_INSTALL_PATH=$(echo "http://"$OPNFV_RPM_URL | sed 's/\/'"$(basename $OPNFV_RPM_URL)"'//')
RPM_LIST=$(basename $OPNFV_RPM_URL)
-
+ # find version of RPM
+ VERSION_EXTENSION=$(echo $(basename $RPM_LIST) | grep -Eo '[0-9]+\.[0-9]+-([0-9]{8}|[a-z]+-[0-9]\.[0-9]+)')
if [ "$BRANCH" != 'master' ]; then
- # find version of RPM
- VERSION_EXTENSION=$(echo $(basename $RPM_LIST) | grep -Eo '[0-9]+\.[0-9]+-([0-9]{8}|[a-z]+-[0-9]\.[0-9]+)')
# build RPM List which already includes base Apex RPM
RPM_LIST+=" opnfv-apex-undercloud-${VERSION_EXTENSION}.noarch.rpm"
RPM_LIST+=" python34-opnfv-apex-${VERSION_EXTENSION}.noarch.rpm"
diff --git a/jjb/apex/apex-snapshot-create.sh b/jjb/apex/apex-snapshot-create.sh
index 342896c7d..7e38d56b4 100644
--- a/jjb/apex/apex-snapshot-create.sh
+++ b/jjb/apex/apex-snapshot-create.sh
@@ -78,9 +78,7 @@ for node in $nodes; do
done
# copy virsh net definitions
-for net in admin api external storage tenant; do
- sudo virsh net-dumpxml ${net} > ${net}.xml
-done
+sudo virsh net-dumpxml admin > admin.xml
sudo chown jenkins-ci:jenkins-ci *
diff --git a/jjb/apex/apex-verify-jobs.yaml b/jjb/apex/apex-verify-jobs.yaml
index 7dbd6709b..fd6be6e81 100644
--- a/jjb/apex/apex-verify-jobs.yaml
+++ b/jjb/apex/apex-verify-jobs.yaml
@@ -10,12 +10,12 @@
- master: &master
branch: '{stream}'
gs-pathname: ''
- verify-scenario: 'os-odl-nofeature-ha'
+ verify-scenario: 'os-nosdn-nofeature-ha'
disabled: false
- fraser: &fraser
branch: 'stable/{stream}'
gs-pathname: '/{stream}'
- verify-scenario: 'os-odl-nofeature-ha'
+ verify-scenario: 'os-nosdn-nofeature-ha'
disabled: false
- danube: &danube
branch: 'stable/{stream}'
@@ -243,6 +243,8 @@
GERRIT_REFSPEC=$GERRIT_REFSPEC
GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
+ FUNCTEST_SUITE_NAME=tempest_smoke_serial
+ FUNCTEST_MODE=testcase
node-parameters: false
kill-phase-on: FAILURE
abort-all-job: true
@@ -309,6 +311,7 @@
blocking-jobs:
- 'apex-verify.*'
- 'apex-virtual.*'
+ - 'apex-.*-promote.*'
- throttle:
max-per-node: 1
max-total: 10
@@ -348,8 +351,8 @@
current-parameters: false
predefined-parameters: |
DEPLOY_SCENARIO=$DEPLOY_SCENARIO
- FUNCTEST_MODE=tier
- FUNCTEST_TIER=healthcheck
+ FUNCTEST_SUITE_NAME=tempest_smoke_serial
+ FUNCTEST_MODE=testcase
GERRIT_BRANCH=$GERRIT_BRANCH
GERRIT_REFSPEC=$GERRIT_REFSPEC
GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
diff --git a/jjb/apex/apex.yaml b/jjb/apex/apex.yaml
index 587a06377..bb5b53d6d 100644
--- a/jjb/apex/apex.yaml
+++ b/jjb/apex/apex.yaml
@@ -8,7 +8,7 @@
- 'apex-virtual-{stream}'
- 'apex-deploy-{platform}-{stream}'
- 'apex-daily-{stream}'
- - 'apex-csit-promote-daily-{stream}'
+ - 'apex-csit-promote-daily-{stream}-{os_version}'
- 'apex-fdio-promote-daily-{stream}'
- 'apex-{scenario}-baremetal-{scenario_stream}'
- 'apex-testsuite-{scenario}-baremetal-{scenario_stream}'
@@ -25,7 +25,7 @@
build-slave: 'apex-build-master'
virtual-slave: 'apex-virtual-master'
baremetal-slave: 'apex-baremetal-master'
- verify-scenario: 'os-odl-nofeature-ha'
+ verify-scenario: 'os-nosdn-nofeature-ha'
scenario_stream: 'master'
disable_daily: false
disable_promote: false
@@ -35,7 +35,7 @@
build-slave: 'apex-build-master'
virtual-slave: 'apex-virtual-master'
baremetal-slave: 'apex-baremetal-master'
- verify-scenario: 'os-odl-nofeature-ha'
+ verify-scenario: 'os-nosdn-nofeature-ha'
scenario_stream: 'fraser'
disable_daily: false
disable_promote: true
@@ -144,9 +144,13 @@
<<: *danube
- 'os-ovn-nofeature-noha':
<<: *danube
- - 'os-odl-master_upstream-noha':
+ - 'os-odl-nofeature-noha':
<<: *master
- - 'os-odl-queens_upstream-noha':
+ - 'os-odl-nofeature-ha':
+ <<: *master
+ - 'os-odl-queens-noha':
+ <<: *master
+ - 'os-odl-queens-ha':
<<: *master
- 'os-nosdn-nofeature-noha':
<<: *euphrates
@@ -190,9 +194,12 @@
- 'virtual'
os_version:
- - 'pike'
- - 'queens'
- - 'master'
+ - 'pike':
+ os_scenario: 'pike'
+ - 'queens':
+ os_scenario: 'queens'
+ - 'master':
+ os_scenario: 'nofeature'
# Fetch Logs Job
@@ -361,6 +368,7 @@
parameters:
- '{project}-defaults'
- '{project}-virtual-{stream}-defaults'
+ - 'functest-suite-parameter'
- project-parameter:
project: '{project}'
branch: '{branch}'
@@ -382,7 +390,6 @@
block-level: 'NODE'
blocking-jobs:
- 'apex-runner.*'
- - 'apex-.*-promote.*'
- 'apex-run.*'
- 'apex-virtual-.*'
- 'apex-verify-gate-.*'
@@ -408,6 +415,7 @@
GERRIT_REFSPEC=$GERRIT_REFSPEC
GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
+ PROMOTE=$PROMOTE
node-parameters: true
kill-phase-on: FAILURE
abort-all-job: true
@@ -420,7 +428,8 @@
current-parameters: false
predefined-parameters: |
DEPLOY_SCENARIO=$DEPLOY_SCENARIO
- FUNCTEST_SUITE_NAME=healthcheck
+ FUNCTEST_MODE=$FUNCTEST_MODE
+ FUNCTEST_SUITE_NAME=$FUNCTEST_SUITE_NAME
GERRIT_BRANCH=$GERRIT_BRANCH
GERRIT_REFSPEC=$GERRIT_REFSPEC
GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
@@ -570,7 +579,6 @@
blocking-jobs:
- 'apex-verify.*'
- 'apex-runner.*'
- - 'apex-.*-promote.*'
- 'apex-run.*'
- 'apex-testsuite-.+-baremetal-.+'
- throttle:
@@ -758,7 +766,7 @@
# CSIT promote
- job-template:
- name: 'apex-csit-promote-daily-{stream}'
+ name: 'apex-csit-promote-daily-{stream}-{os_version}'
# Job template for promoting CSIT Snapshots
#
@@ -778,6 +786,14 @@
branch: '{branch}'
- apex-parameter:
gs-pathname: '{gs-pathname}'
+ - string:
+ name: ARTIFACT_VERSION
+ default: dev
+ description: "Used for overriding the ARTIFACT_VERSION"
+ - string:
+ name: PROMOTE
+ default: 'True'
+ description: "Used for overriding the PROMOTE"
properties:
- build-blocker:
@@ -785,7 +801,6 @@
block-level: 'NODE'
blocking-jobs:
- 'apex-verify.*'
- - 'apex-deploy.*'
- 'apex-runner.*'
- 'apex-daily.*'
@@ -794,40 +809,24 @@
builders:
- multijob:
- name: deploy-virtual
+ name: apex-virtual-deploy-test
condition: SUCCESSFUL
projects:
- - name: 'apex-deploy-virtual-{stream}'
- current-parameters: false
+ - name: 'apex-virtual-{stream}'
+ current-parameters: true
predefined-parameters: |
- DEPLOY_SCENARIO=os-odl-{os_version}_upstream-noha
+ DEPLOY_SCENARIO=os-odl-{os_scenario}-noha
OPNFV_CLEAN=yes
GERRIT_BRANCH=$GERRIT_BRANCH
GERRIT_REFSPEC=$GERRIT_REFSPEC
GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
- PROMOTE=True
- node-parameters: true
- kill-phase-on: FAILURE
- abort-all-job: true
- git-revision: false
- - multijob:
- name: functest-smoke
- condition: SUCCESSFUL
- projects:
- - name: 'functest-apex-virtual-suite-{stream}'
- current-parameters: false
- predefined-parameters: |
- DEPLOY_SCENARIO=os-odl-{os_version}_upstream-noha
FUNCTEST_SUITE_NAME=tempest_smoke_serial
- GERRIT_BRANCH=$GERRIT_BRANCH
- GERRIT_REFSPEC=$GERRIT_REFSPEC
- GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
- GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
+ FUNCTEST_MODE=testcase
node-parameters: true
kill-phase-on: FAILURE
abort-all-job: true
- git-revision: false
+ git-revision: true
- multijob:
name: create snapshot
condition: SUCCESSFUL
@@ -1494,7 +1493,23 @@
name: Baremetal Deploy and Test Phase
condition: SUCCESSFUL
projects:
- - name: 'apex-os-odl-master_upstream-noha-baremetal-master'
+ - name: 'apex-os-odl-nofeature-noha-baremetal-master'
+ node-parameters: false
+ current-parameters: false
+ predefined-parameters: |
+ OPNFV_CLEAN=yes
+ kill-phase-on: NEVER
+ abort-all-job: true
+ git-revision: false
+ - name: 'apex-os-odl-nofeature-ha-baremetal-master'
+ node-parameters: false
+ current-parameters: false
+ predefined-parameters: |
+ OPNFV_CLEAN=yes
+ kill-phase-on: NEVER
+ abort-all-job: true
+ git-revision: false
+ - name: 'apex-os-odl-queens-noha-baremetal-master'
node-parameters: false
current-parameters: false
predefined-parameters: |
@@ -1502,7 +1517,7 @@
kill-phase-on: NEVER
abort-all-job: true
git-revision: false
- - name: 'apex-os-odl-queens_upstream-noha-baremetal-master'
+ - name: 'apex-os-odl-queens-ha-baremetal-master'
node-parameters: false
current-parameters: false
predefined-parameters: |
diff --git a/jjb/apex/apex.yaml.j2 b/jjb/apex/apex.yaml.j2
index 4620bbc7e..3397f1ed2 100644
--- a/jjb/apex/apex.yaml.j2
+++ b/jjb/apex/apex.yaml.j2
@@ -8,7 +8,7 @@
- 'apex-virtual-{stream}'
- 'apex-deploy-{platform}-{stream}'
- 'apex-daily-{stream}'
- - 'apex-csit-promote-daily-{stream}'
+ - 'apex-csit-promote-daily-{stream}-{os_version}'
- 'apex-fdio-promote-daily-{stream}'
- 'apex-{scenario}-baremetal-{scenario_stream}'
- 'apex-testsuite-{scenario}-baremetal-{scenario_stream}'
@@ -25,7 +25,7 @@
build-slave: 'apex-build-master'
virtual-slave: 'apex-virtual-master'
baremetal-slave: 'apex-baremetal-master'
- verify-scenario: 'os-odl-nofeature-ha'
+ verify-scenario: 'os-nosdn-nofeature-ha'
scenario_stream: 'master'
disable_daily: false
disable_promote: false
@@ -35,7 +35,7 @@
build-slave: 'apex-build-master'
virtual-slave: 'apex-virtual-master'
baremetal-slave: 'apex-baremetal-master'
- verify-scenario: 'os-odl-nofeature-ha'
+ verify-scenario: 'os-nosdn-nofeature-ha'
scenario_stream: 'fraser'
disable_daily: false
disable_promote: true
@@ -74,9 +74,12 @@
- 'virtual'
os_version:
- - 'pike'
- - 'queens'
- - 'master'
+ - 'pike':
+ os_scenario: 'pike'
+ - 'queens':
+ os_scenario: 'queens'
+ - 'master':
+ os_scenario: 'nofeature'
# Fetch Logs Job
@@ -245,6 +248,7 @@
parameters:
- '{project}-defaults'
- '{project}-virtual-{stream}-defaults'
+ - 'functest-suite-parameter'
- project-parameter:
project: '{project}'
branch: '{branch}'
@@ -266,7 +270,6 @@
block-level: 'NODE'
blocking-jobs:
- 'apex-runner.*'
- - 'apex-.*-promote.*'
- 'apex-run.*'
- 'apex-virtual-.*'
- 'apex-verify-gate-.*'
@@ -292,6 +295,7 @@
GERRIT_REFSPEC=$GERRIT_REFSPEC
GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
+ PROMOTE=$PROMOTE
node-parameters: true
kill-phase-on: FAILURE
abort-all-job: true
@@ -304,7 +308,8 @@
current-parameters: false
predefined-parameters: |
DEPLOY_SCENARIO=$DEPLOY_SCENARIO
- FUNCTEST_SUITE_NAME=healthcheck
+ FUNCTEST_MODE=$FUNCTEST_MODE
+ FUNCTEST_SUITE_NAME=$FUNCTEST_SUITE_NAME
GERRIT_BRANCH=$GERRIT_BRANCH
GERRIT_REFSPEC=$GERRIT_REFSPEC
GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
@@ -454,7 +459,6 @@
blocking-jobs:
- 'apex-verify.*'
- 'apex-runner.*'
- - 'apex-.*-promote.*'
- 'apex-run.*'
- 'apex-testsuite-.+-baremetal-.+'
- throttle:
@@ -642,7 +646,7 @@
# CSIT promote
- job-template:
- name: 'apex-csit-promote-daily-{stream}'
+ name: 'apex-csit-promote-daily-{stream}-{os_version}'
# Job template for promoting CSIT Snapshots
#
@@ -662,6 +666,14 @@
branch: '{branch}'
- apex-parameter:
gs-pathname: '{gs-pathname}'
+ - string:
+ name: ARTIFACT_VERSION
+ default: dev
+ description: "Used for overriding the ARTIFACT_VERSION"
+ - string:
+ name: PROMOTE
+ default: 'True'
+ description: "Used for overriding the PROMOTE"
properties:
- build-blocker:
@@ -669,7 +681,6 @@
block-level: 'NODE'
blocking-jobs:
- 'apex-verify.*'
- - 'apex-deploy.*'
- 'apex-runner.*'
- 'apex-daily.*'
@@ -678,40 +689,24 @@
builders:
- multijob:
- name: deploy-virtual
+ name: apex-virtual-deploy-test
condition: SUCCESSFUL
projects:
- - name: 'apex-deploy-virtual-{stream}'
- current-parameters: false
+ - name: 'apex-virtual-{stream}'
+ current-parameters: true
predefined-parameters: |
- DEPLOY_SCENARIO=os-odl-{os_version}_upstream-noha
+ DEPLOY_SCENARIO=os-odl-{os_scenario}-noha
OPNFV_CLEAN=yes
GERRIT_BRANCH=$GERRIT_BRANCH
GERRIT_REFSPEC=$GERRIT_REFSPEC
GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
- PROMOTE=True
- node-parameters: true
- kill-phase-on: FAILURE
- abort-all-job: true
- git-revision: false
- - multijob:
- name: functest-smoke
- condition: SUCCESSFUL
- projects:
- - name: 'functest-apex-virtual-suite-{stream}'
- current-parameters: false
- predefined-parameters: |
- DEPLOY_SCENARIO=os-odl-{os_version}_upstream-noha
FUNCTEST_SUITE_NAME=tempest_smoke_serial
- GERRIT_BRANCH=$GERRIT_BRANCH
- GERRIT_REFSPEC=$GERRIT_REFSPEC
- GERRIT_CHANGE_NUMBER=$GERRIT_CHANGE_NUMBER
- GERRIT_CHANGE_COMMIT_MESSAGE=$GERRIT_CHANGE_COMMIT_MESSAGE
+ FUNCTEST_MODE=testcase
node-parameters: true
kill-phase-on: FAILURE
abort-all-job: true
- git-revision: false
+ git-revision: true
- multijob:
name: create snapshot
condition: SUCCESSFUL
diff --git a/jjb/apex/scenarios.yaml.hidden b/jjb/apex/scenarios.yaml.hidden
index 2650eafbb..8375f6163 100644
--- a/jjb/apex/scenarios.yaml.hidden
+++ b/jjb/apex/scenarios.yaml.hidden
@@ -1,6 +1,8 @@
master:
- 'os-odl-nofeature-noha'
+ - 'os-odl-nofeature-ha'
- 'os-odl-queens-noha'
+ - 'os-odl-queens-ha'
fraser:
- 'os-nosdn-nofeature-noha'
- 'os-nosdn-nofeature-ha'
diff --git a/jjb/armband/armband-ci-jobs.yaml b/jjb/armband/armband-ci-jobs.yaml
index b8ffc16fa..fe2bbcc63 100644
--- a/jjb/armband/armband-ci-jobs.yaml
+++ b/jjb/armband/armband-ci-jobs.yaml
@@ -127,7 +127,7 @@
same-node: true
block: true
- trigger-builds:
- - project: 'functest-{installer}-{pod}-arm-daily-{stream}'
+ - project: 'functest-{installer}-{pod}-daily-{stream}'
current-parameters: false
predefined-parameters:
DEPLOY_SCENARIO={scenario}
diff --git a/jjb/doctor/doctor.yaml b/jjb/doctor/doctor.yaml
index 3985356c1..1c12563a8 100644
--- a/jjb/doctor/doctor.yaml
+++ b/jjb/doctor/doctor.yaml
@@ -124,7 +124,9 @@
- 'doctor-parameter':
docker-tag: '{docker-tag}'
scenario: '{scenario}'
- - 'doctor-functest-parameter'
+ - 'doctor-functest-parameter':
+ gs-pathname: '{gs-pathname}'
+ inspector: '{inspector}'
scm:
- git-scm-gerrit
builders:
diff --git a/jjb/fuel/fuel-daily-jobs.yaml b/jjb/fuel/fuel-daily-jobs.yaml
index 7110daeaf..e636538ef 100644
--- a/jjb/fuel/fuel-daily-jobs.yaml
+++ b/jjb/fuel/fuel-daily-jobs.yaml
@@ -86,6 +86,8 @@
auto-trigger-name: 'fuel-{scenario}-{pod}-daily-{stream}-trigger'
- 'os-ovn-nofeature-noha':
auto-trigger-name: 'fuel-{scenario}-{pod}-daily-{stream}-trigger'
+ - 'os-odl-ovs-noha':
+ auto-trigger-name: 'fuel-{scenario}-{pod}-daily-{stream}-trigger'
- 'os-nosdn-kvm-noha':
auto-trigger-name: 'fuel-{scenario}-{pod}-daily-{stream}-trigger'
- 'os-nosdn-ovs-noha':
@@ -107,6 +109,8 @@
stream: danube
- scenario: os-ovn-nofeature-ha
stream: danube
+ - scenario: os-odl-ovs-noha
+ stream: fraser
jobs:
- 'fuel-{scenario}-{pod}-daily-{stream}'
@@ -428,6 +432,10 @@
triggers:
- timed: ''
- trigger:
+ name: 'fuel-os-odl-ovs-noha-baremetal-daily-master-trigger'
+ triggers:
+ - timed: ''
+- trigger:
name: 'fuel-os-nosdn-kvm-noha-baremetal-daily-master-trigger'
triggers:
- timed: ''
@@ -581,6 +589,10 @@
triggers:
- timed: '5 23 * * *'
- trigger:
+ name: 'fuel-os-odl-ovs-noha-virtual-daily-master-trigger'
+ triggers:
+ - timed: '5 2 * * *'
+- trigger:
name: 'fuel-os-nosdn-kvm-noha-virtual-daily-master-trigger'
triggers:
- timed: '' # '35 6 * * *'
@@ -733,6 +745,10 @@
triggers:
- timed: ''
- trigger:
+ name: 'fuel-os-odl-ovs-noha-zte-pod1-daily-master-trigger'
+ triggers:
+ - timed: ''
+- trigger:
name: 'fuel-os-nosdn-kvm-noha-zte-pod1-daily-master-trigger'
triggers:
- timed: ''
diff --git a/jjb/functest/functest-daily-jobs.yaml b/jjb/functest/functest-daily-jobs.yaml
index ae226b665..4fc67e7f8 100644
--- a/jjb/functest/functest-daily-jobs.yaml
+++ b/jjb/functest/functest-daily-jobs.yaml
@@ -201,8 +201,6 @@
- 'suite':
job-timeout: 60
- 'daily':
- job-timeout: 360
- - 'arm-daily':
job-timeout: 480
jobs:
@@ -268,14 +266,6 @@
description: "Daily suite name to run"
- parameter:
- name: functest-arm-daily-parameter
- parameters:
- - string:
- name: FUNCTEST_MODE
- default: 'arm-daily'
- description: "Daily suite name (Aarch64) to run"
-
-- parameter:
name: functest-suite-parameter
parameters:
- choice:
@@ -368,14 +358,6 @@
- 'functest-exit'
- builder:
- name: functest-arm-daily-builder
- builders:
- - 'functest-cleanup'
- - 'functest-arm-daily'
- - 'functest-store-results'
- - 'functest-exit'
-
-- builder:
name: functest-suite-builder
builders:
- 'functest-cleanup'
@@ -409,17 +391,6 @@
# yamllint enable rule:indentation
- builder:
- name: functest-arm-daily
- builders:
- # yamllint disable rule:indentation
- - shell:
- !include-raw:
- - ./functest-env-presetup.sh
- - ../../utils/fetch_os_creds.sh
- - ./functest-alpine.sh
-
-# yamllint enable rule:indentation
-- builder:
name: functest-store-results
builders:
- shell:
diff --git a/jjb/releng/compass4nfv-docker.yaml b/jjb/releng/compass4nfv-docker.yaml
index 5fbb37ca2..7bfda552d 100644
--- a/jjb/releng/compass4nfv-docker.yaml
+++ b/jjb/releng/compass4nfv-docker.yaml
@@ -19,6 +19,10 @@
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:
@@ -43,10 +47,20 @@
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
@@ -63,6 +77,7 @@
project: '{project}'
branch: '{branch}'
slave_label: 'opnfv-build-ubuntu'
+ docker_file: 'Dockerfile'
arch_tag: 'amd64'
properties:
@@ -84,6 +99,14 @@
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
@@ -101,9 +124,38 @@
<<: *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}'
@@ -113,6 +165,7 @@
project: '{project}'
branch: '{branch}'
slave_label: '{slave_label}'
+ docker_file: '{docker_file}'
arch_tag: '{arch_tag}'
- string:
name: DOCKER_REPO_NAME
@@ -128,6 +181,31 @@
- 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")
+ tag="latest" ;;
+ *)
+ tag="{stream}" ;;
+ esac
+ sudo manifest-tool push from-args \
+ --platforms linux/amd64,linux/arm64 \
+ --template opnfv/compass-{image}:ARCH-$tag \
+ --target opnfv/compass-{image}:$tag
+ exit $?
+
# parameter macro
- parameter:
name: compass-job-parameters
@@ -157,11 +235,11 @@
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: "Dockerfile"
+ default: '{docker_file}'
description: "Dockerfile to use for creating the image."
- string:
name: ARCH_TAG
- default: ""
+ default: "{arch_tag}"
description: "If set, this value will be added to the docker image tag as a prefix"
- string:
name: PROJECT
@@ -178,3 +256,10 @@
huangxiangyui5@huawei.com
xueyifei@huawei.com
wutianwei1@huawei.com
+
+- publisher:
+ name: 'compass-arm64-recipients'
+ publishers:
+ - email:
+ recipients: >
+ yibo.cai@arm.com
diff --git a/jjb/releng/releng-release-verify.sh b/jjb/releng/releng-release-create-venv.sh
index c1262e2c9..0d5635b59 100644
--- a/jjb/releng/releng-release-verify.sh
+++ b/jjb/releng/releng-release-create-venv.sh
@@ -7,21 +7,12 @@
# which accompanies this distribution, and is available at
# http://www.apache.org/licenses/LICENSE-2.0
##############################################################################
-set -xe
+set -e -o pipefail
+echo "---> Create virtualenv"
-# Activate virtualenv, supressing shellcheck warning
-# shellcheck source=/dev/null
-. $WORKSPACE/venv/bin/activate
+sudo pip install virtualenv
+virtualenv $WORKSPACE/venv
+# shellcheck source=$WORKSPACE/venv/bin/activate disable=SC1091
+source $WORKSPACE/venv/bin/activate
+pip install --upgrade pip
pip install -r releases/scripts/requirements.txt
-
-STREAM=${STREAM:-'nostream'}
-RELEASE_FILES=$(git diff HEAD^1 --name-only -- "releases/$STREAM")
-
-# TODO: The create_branch.py should be refactored so it can be used here
-# to verify the commit exists that is being added, along with
-# jjb/<project>
-for release_file in $RELEASE_FILES; do
- python releases/scripts/verify_schema.py \
- -s releases/schema.yaml \
- -y $release_file
-done
diff --git a/jjb/releng/releng-release-jobs.yaml b/jjb/releng/releng-release-jobs.yaml
index e31320b81..0c059ee9b 100644
--- a/jjb/releng/releng-release-jobs.yaml
+++ b/jjb/releng/releng-release-jobs.yaml
@@ -10,6 +10,8 @@
- project:
name: releng-release-jobs
+ build-node: 'opnfv-build'
+
stream:
- fraser
@@ -23,6 +25,7 @@
name: 'releng-release-{stream}-verify'
parameters:
+ - '{build-node}-defaults'
- stream-parameter:
stream: '{stream}'
- project-parameter:
@@ -59,9 +62,9 @@
pattern: 'releases/scripts/verify_schema.py'
builders:
- - create-virtualenv
- - shell:
- !include-raw-escape: releng-release-verify.sh
+ - shell: !include-raw-escape:
+ - releng-release-create-venv.sh
+ - releng-release-tagging.sh
publishers:
- email-jenkins-admins-on-failure
@@ -82,6 +85,12 @@
- project-parameter:
project: '{project}'
branch: 'master'
+ # Override GIT_BASE so we can send patches back to Gerrit and
+ # modify repos
+ - string:
+ name: GIT_BASE
+ default: ssh://$USER@gerrit.opnfv.org:29418/$PROJECT
+ description: 'Git URL to use on this Jenkins Slave'
scm:
- git-scm-gerrit
@@ -93,9 +102,10 @@
files: 'releases/{stream}/*'
builders:
- - create-virtualenv
- - shell:
- !include-raw-escape: releng-release-create-branch.sh
+ - shell: !include-raw-escape:
+ - releng-release-create-venv.sh
+ - releng-release-tagging.sh
+ # - releng-release-create-branch.sh
publishers:
- email-jenkins-admins-on-failure
@@ -107,13 +117,3 @@
name: STREAM
default: '{stream}'
description: "OPNFV Stable Stream"
-
-- builder:
- name: create-virtualenv
- builders:
- - shell: |
- #!/bin/bash
- sudo pip install virtualenv
- virtualenv $WORKSPACE/venv
- . $WORKSPACE/venv/bin/activate
- pip install --upgrade pip
diff --git a/jjb/releng/releng-release-tagging.sh b/jjb/releng/releng-release-tagging.sh
new file mode 100644
index 000000000..10c0cc8c9
--- /dev/null
+++ b/jjb/releng/releng-release-tagging.sh
@@ -0,0 +1,70 @@
+#!/bin/bash
+# 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
+##############################################################################
+set -e -o pipefail
+
+GIT_URL=${GIT_URL:-https://gerrit.opnfv.org/gerrit}
+STREAM=${STREAM:-'nostream'}
+RELEASE_FILES=$(git diff HEAD^1 --name-only -- "releases/$STREAM")
+
+echo "--> Verifying $RELEASE_FILES."
+for release_file in $RELEASE_FILES; do
+ # Verify the release file schema
+ python releases/scripts/verify_schema.py \
+ -s releases/schema.yaml \
+ -y $release_file
+
+ # Verify tag for each repo exist and are attached to commits on stable-branch
+ while read -r repo tag ref
+ do
+ echo "--> Cloning $repo"
+ if [ ! -d $repo ]; then
+ git clone $GIT_URL/$repo.git $repo
+ fi
+ pushd $repo &> /dev/null
+
+ echo "--> Checking for tag: $tag"
+ if ! (git tag -l | grep $tag &> /dev/null); then
+ echo "$tag does not exist"
+ TAG_EXISTS=false
+ else
+ git cat-file tag $tag
+ TAG_EXISTS=true
+ fi
+
+ echo "--> Checking if $ref is on stable/$STREAM"
+ if ! (git branch -a --contains $ref | grep "stable/$STREAM"); then
+ echo "--> ERROR: $ref for $repo is not on stable/$STREAM!"
+ # If the tag exists but is on the wrong ref, there's nothing
+ # we can do. But if the tag neither exists nor is on the
+ # correct branch we need to fail the verification.
+ if [ $TAG_EXISTS = false ]; then
+ exit 1
+ fi
+ else
+ if [[ $TAG_EXISTS = false && "$JOB_NAME" =~ "merge" ]]; then
+ # If the tag doesn't exist and we're in a merge job,
+ # everything has been verified up to this point and we
+ # are ready to create the tag.
+ git config --global user.name "jenkins-ci"
+ git config --global user.email "jenkins-opnfv-ci@opnfv.org"
+ echo "--> Creating $tag tag for $repo at $ref"
+ git tag -am "$tag" $tag $ref
+ echo "--> Pushing tag"
+ echo "[noop] git push origin $tag"
+ else
+ # For non-merge jobs just output the ref info.
+ git show -s --format="%h %s %d" $ref
+ fi
+ fi
+
+ popd &> /dev/null
+ echo "--> Done verifing $repo"
+ done < <(python releases/scripts/repos.py -f $release_file)
+done
diff --git a/releases/fraser/apex.yaml b/releases/fraser/apex.yaml
index c097d064a..5d0f569bf 100644
--- a/releases/fraser/apex.yaml
+++ b/releases/fraser/apex.yaml
@@ -25,6 +25,18 @@ releases:
- version: opnfv-6.0.0
location:
apex-os-net-config: e09d110d7b58d26424c28a128cdfd8c766636461
+ - version: opnfv-6.1.0
+ location:
+ apex: a1f2e922d18430e064c9c8311f01ac2a0df19414
+ - version: opnfv-6.1.0
+ location:
+ apex-tripleo-heat-templates: 7f1cc97bcd6f267b11a251de3204edf0e8ec79c0
+ - version: opnfv-6.1.0
+ location:
+ apex-puppet-tripleo: bebd15efe40498c272577c563bc113ec3849dcc6
+ - version: opnfv-6.1.0
+ location:
+ apex-os-net-config: e09d110d7b58d26424c28a128cdfd8c766636461
branches:
- name: stable/fraser
diff --git a/releases/fraser/armband.yml b/releases/fraser/armband.yaml
index 66afd10da..3a2b2606a 100644
--- a/releases/fraser/armband.yml
+++ b/releases/fraser/armband.yaml
@@ -15,6 +15,9 @@ releases:
- version: opnfv-6.0.0
location:
armband: 2b0ac4026a3acf3b10ab2f4c416636d80ab559f0
+ - version: opnfv-6.1.0
+ location:
+ armband: 0de669e26d14794ab117e915abaa6bf6b1dd878d
branches:
- name: stable/fraser
diff --git a/releases/fraser/auto.yaml b/releases/fraser/auto.yaml
index a86fabbb3..60250bd9f 100644
--- a/releases/fraser/auto.yaml
+++ b/releases/fraser/auto.yaml
@@ -8,6 +8,14 @@ releases:
location:
auto: 3a957a75f99686767d13f45d74b5ca8463559b7b
+ - version: opnfv-6.1.0
+ location:
+ auto: b718a43380376d2b19222c4203c97a95ca849ae8
+
+ - version: opnfv-6.1.1
+ location:
+ auto: 0f43563624832c5908e6fc00eb0a4bbc6cc82c33
+
branches:
- name: stable/fraser
location:
diff --git a/releases/fraser/availability.yaml b/releases/fraser/availability.yaml
index 91163b5a2..beda6253b 100644
--- a/releases/fraser/availability.yaml
+++ b/releases/fraser/availability.yaml
@@ -8,6 +8,10 @@ releases:
location:
availability: c1ee3631b59009ff61450808e2bd33fe1d4b17f2
+ - version: opnfv-6.1.0
+ location:
+ availability: c1ee3631b59009ff61450808e2bd33fe1d4b17f2
+
branches:
- name: stable/fraser
location:
diff --git a/releases/fraser/barometer.yaml b/releases/fraser/barometer.yaml
index 4ad1e9d63..e8d88f1bb 100644
--- a/releases/fraser/barometer.yaml
+++ b/releases/fraser/barometer.yaml
@@ -8,6 +8,10 @@ releases:
location:
barometer: 70a568ed8eed6f1a336f1fbe9bbc6900422e0c11
+ - version: opnfv-6.1.0
+ location:
+ barometer: 70a568ed8eed6f1a336f1fbe9bbc6900422e0c11
+
branches:
- name: stable/fraser
location:
diff --git a/releases/fraser/bottlenecks.yaml b/releases/fraser/bottlenecks.yaml
index e72d0f652..b2df4cba2 100644
--- a/releases/fraser/bottlenecks.yaml
+++ b/releases/fraser/bottlenecks.yaml
@@ -7,6 +7,9 @@ releases:
- version: opnfv-6.0.0
location:
bottlenecks: d76736440f852baed2e10a9b92c0557aabc041a6
+ - version: opnfv-6.1.0
+ location:
+ bottlenecks: d76736440f852baed2e10a9b92c0557aabc041a6
branches:
- name: stable/fraser
diff --git a/releases/fraser/calipso.yaml b/releases/fraser/calipso.yaml
index e334910a9..8e3db3c7a 100644
--- a/releases/fraser/calipso.yaml
+++ b/releases/fraser/calipso.yaml
@@ -3,6 +3,11 @@ project: calipso
project-type: tools
release-model: stable
+releases:
+ - version: opnfv-6.1.0
+ location:
+ calipso: 5c821a4d1462f3b0131f37995f40fc77a53468e6
+
branches:
- name: stable/fraser
location:
diff --git a/releases/fraser/clover.yaml b/releases/fraser/clover.yaml
index c731d2a30..ba3e7d688 100644
--- a/releases/fraser/clover.yaml
+++ b/releases/fraser/clover.yaml
@@ -10,6 +10,9 @@ releases:
- version: opnfv-6.0.1
location:
clover: be5f20bbe91f1ae3138a1e338eea5b45e89bda82
+ - version: opnfv-6.1.0
+ location:
+ clover: 596a3573b2622a5d314349592088b6b737f5e126
branches:
- name: stable/fraser
diff --git a/releases/fraser/compass4nfv.yaml b/releases/fraser/compass4nfv.yaml
index 5c443361c..c01ca9fc2 100644
--- a/releases/fraser/compass4nfv.yaml
+++ b/releases/fraser/compass4nfv.yaml
@@ -4,6 +4,13 @@ project-type: installer
release-model: stable
releases:
+ - version: opnfv-6.1.0
+ location:
+ compass4nfv: 499d95cdea092ea9eb76a939b6ea832601d41b7f
+ - version: opnfv-6.1.0
+ location:
+ compass-containers: 15a7cbc925bed896c3c09a5635454c33dbffbadc
+
- version: opnfv-6.0.0
location:
compass4nfv: ab73374e424a679cc42b9812e6bd39a49fcea07d
diff --git a/releases/fraser/container4nfv.yaml b/releases/fraser/container4nfv.yaml
index ed42ff0f7..c95007f3c 100644
--- a/releases/fraser/container4nfv.yaml
+++ b/releases/fraser/container4nfv.yaml
@@ -7,6 +7,9 @@ releases:
- version: opnfv-6.0.0
location:
container4nfv: 38d0ffe507a137167ffdbac860de5c1a738e81a8
+ - version: opnfv-6.1.0
+ location:
+ container4nfv: 38d0ffe507a137167ffdbac860de5c1a738e81a8
branches:
- name: stable/fraser
diff --git a/releases/fraser/doctor.yaml b/releases/fraser/doctor.yaml
index 28cfe7b19..336a28086 100644
--- a/releases/fraser/doctor.yaml
+++ b/releases/fraser/doctor.yaml
@@ -16,6 +16,10 @@ releases:
location:
doctor: cd500723c3b2de3655b2dc56ea9647f358183264
+ - version: opnfv-6.1.0
+ location:
+ doctor: c91aa72e7df34ec3416be3c9f73f7484a91312fb
+
branches:
- name: stable/fraser
location:
diff --git a/releases/fraser/fds.yaml b/releases/fraser/fds.yaml
index 9d08cbf46..1d7730f18 100644
--- a/releases/fraser/fds.yaml
+++ b/releases/fraser/fds.yaml
@@ -3,6 +3,11 @@ project: fds
project-type: feature
release-model: stable
+releases:
+ - version: opnfv-6.1.0
+ location:
+ fds: 6eb4ed8ce9be7135ec65318b7b833f3c487498be
+
branches:
- name: stable/fraser
location:
diff --git a/releases/fraser/fuel.yaml b/releases/fraser/fuel.yaml
index 226ba5834..dd45d3091 100644
--- a/releases/fraser/fuel.yaml
+++ b/releases/fraser/fuel.yaml
@@ -15,6 +15,9 @@ releases:
- version: opnfv-6.0.0
location:
fuel: d45841926790df8313912697d31753c120e2c4aa
+ - version: opnfv-6.1.0
+ location:
+ fuel: e29220a401a5ad0607453d6a82de9b61d1c02aca
branches:
- name: stable/fraser
diff --git a/releases/fraser/functest.yaml b/releases/fraser/functest.yaml
index d1837b8b8..e12758835 100644
--- a/releases/fraser/functest.yaml
+++ b/releases/fraser/functest.yaml
@@ -10,6 +10,12 @@ releases:
- version: opnfv-6.0.0
location:
functest-kubernetes: 770bd295031af2e12da3472b9ed2763bfdc4deaf
+ - version: opnfv-6.1.0
+ location:
+ functest: 7be15936ba4fd0f624200ae6b587081ab292077c
+ - version: opnfv-6.1.0
+ location:
+ functest-kubernetes: c3e48ccef64acc6ba31823e1c8d6138eebbffb8c
branches:
- name: stable/fraser
diff --git a/releases/fraser/ipv6.yaml b/releases/fraser/ipv6.yaml
index 2e92199c4..a21129636 100644
--- a/releases/fraser/ipv6.yaml
+++ b/releases/fraser/ipv6.yaml
@@ -15,8 +15,13 @@ releases:
- version: opnfv-6.0.0
location:
ipv6: 5b914695088b39aee3886bd60be4707b7a11a1e8
+ - version: opnfv-6.1.0
+ location:
+ ipv6: 5c8ce8ff16e9dee430357cb60d1eba5a8d1961b7
branches:
- name: stable/fraser
location:
ipv6: 809dba7f52ff1571a760a01376530de23c5d97c9
+
+release-notes: http://docs.opnfv.org/en/stable-fraser/submodules/ipv6/docs/release/release-notes/release-notes.html
diff --git a/releases/fraser/joid.yaml b/releases/fraser/joid.yaml
index 6c230c3ae..fcb6d3771 100644
--- a/releases/fraser/joid.yaml
+++ b/releases/fraser/joid.yaml
@@ -16,6 +16,10 @@ releases:
location:
joid: 266a4fd08bef19fca930cbbb1d45f5639b87d3c0
+ - version: opnfv-6.1.0
+ location:
+ joid: ff656d6b0fa60241c76709a41c023b76ba4def8f
+
branches:
- name: stable/fraser
location:
diff --git a/releases/fraser/nfvbench.yaml b/releases/fraser/nfvbench.yaml
index 9df164283..ba423d351 100644
--- a/releases/fraser/nfvbench.yaml
+++ b/releases/fraser/nfvbench.yaml
@@ -7,6 +7,9 @@ releases:
- version: opnfv-6.0.0
location:
nfvbench: c8402089ad8686a16ad08ce6c6e16a14c3144d64
+ - version: opnfv-6.1.0
+ location:
+ nfvbench: c8402089ad8686a16ad08ce6c6e16a14c3144d64
branches:
- name: stable/fraser
diff --git a/releases/fraser/opnfvdocs.yaml b/releases/fraser/opnfvdocs.yaml
index 6e2232897..a206f114b 100644
--- a/releases/fraser/opnfvdocs.yaml
+++ b/releases/fraser/opnfvdocs.yaml
@@ -7,6 +7,9 @@ releases:
- version: opnfv-6.0.0
location:
opnfvdocs: 49538d56771c45d8d437ab00abaa1b52f97ac931
+ - version: opnfv-6.1.0
+ location:
+ opnfvdocs: 98570eb59bb4abda67cea7a22feec45eebc4bec2
branches:
- name: stable/fraser
diff --git a/releases/fraser/ovn4nfv.yaml b/releases/fraser/ovn4nfv.yaml
index 40eac0c2c..3b88d7910 100644
--- a/releases/fraser/ovn4nfv.yaml
+++ b/releases/fraser/ovn4nfv.yaml
@@ -8,6 +8,9 @@ releases:
- version: opnfv-6.0.0
location:
ovn4nfv: 651acb603c2f4523905e4fe5134fd8a7940e1f3d
+ - version: opnfv-6.1.0
+ location:
+ ovn4nfv: 651acb603c2f4523905e4fe5134fd8a7940e1f3d
branches:
- name: stable/fraser
diff --git a/releases/fraser/samplevnf.yaml b/releases/fraser/samplevnf.yaml
index 3c30f7223..984ca8c16 100644
--- a/releases/fraser/samplevnf.yaml
+++ b/releases/fraser/samplevnf.yaml
@@ -7,6 +7,9 @@ releases:
- version: opnfv-6.0.0
location:
samplevnf: 4685c59ec97927af559b4bf10001d0e07de34702
+ - version: opnfv-6.1.0
+ location:
+ samplevnf: 95e9ab89f6d8f9911a9fdb625e8721f3d2e20b1a
branches:
- name: stable/fraser
diff --git a/releases/fraser/sdnvpn.yaml b/releases/fraser/sdnvpn.yaml
index 6fa8fa546..559398cd1 100644
--- a/releases/fraser/sdnvpn.yaml
+++ b/releases/fraser/sdnvpn.yaml
@@ -7,6 +7,9 @@ releases:
- version: opnfv-6.0.0
location:
sdnvpn: be6cce375c0363f93fa6b1a099eb34fee75a6161
+ - version: opnfv-6.1.0
+ location:
+ sdnvpn: be6cce375c0363f93fa6b1a099eb34fee75a6161
branches:
- name: stable/fraser
diff --git a/releases/fraser/sfc.yaml b/releases/fraser/sfc.yaml
index 83850d76f..8da8287de 100644
--- a/releases/fraser/sfc.yaml
+++ b/releases/fraser/sfc.yaml
@@ -7,6 +7,10 @@ releases:
- version: opnfv-6.0.0
location:
sfc: 084446656bf2794a11de56b782f589af1f703487
+ - version: opnfv-6.1.0
+ location:
+ sfc: 7f8a775dec72e03d6cae2400b7a49d7a097c8957
+
branches:
- name: stable/fraser
diff --git a/releases/fraser/snaps.yaml b/releases/fraser/snaps.yaml
index c6c316c2a..fc299970d 100644
--- a/releases/fraser/snaps.yaml
+++ b/releases/fraser/snaps.yaml
@@ -7,6 +7,9 @@ releases:
- version: opnfv-6.0.0
location:
snaps: 4edc3d87392cf78c3f046217543fb76380413306
+ - version: opnfv-6.1.0
+ location:
+ snaps: 4edc3d87392cf78c3f046217543fb76380413306
branches:
- name: stable/fraser
diff --git a/releases/fraser/stor4nfv.yaml b/releases/fraser/stor4nfv.yaml
index b4fd8454a..3259b30d9 100644
--- a/releases/fraser/stor4nfv.yaml
+++ b/releases/fraser/stor4nfv.yaml
@@ -7,6 +7,9 @@ releases:
- version: opnfv-6.0.0
location:
stor4nfv: fcedde93eb366867ed428d362e2cb8a6b7f28b3c
+ - version: opnfv-6.1.0
+ location:
+ stor4nfv: 3f654aa9b1e19eb9d84b0632a5bc1e7bde96c281
branches:
- name: stable/fraser
diff --git a/releases/fraser/storperf.yaml b/releases/fraser/storperf.yaml
index 1389c7aa2..7040cbc2f 100644
--- a/releases/fraser/storperf.yaml
+++ b/releases/fraser/storperf.yaml
@@ -7,6 +7,9 @@ releases:
- version: opnfv-6.0.0
location:
storperf: 2f8c1546ee5d79f9b4c46e960a74930cfe0fe50e
+ - version: opnfv-6.1.0
+ location:
+ storperf: 8962423227e13f45ef9f7dfbf48ed4847d3f3865
branches:
- name: stable/fraser
diff --git a/releases/fraser/vswitchperf.yaml b/releases/fraser/vswitchperf.yaml
index 95d8db6af..c2e4e0dc5 100644
--- a/releases/fraser/vswitchperf.yaml
+++ b/releases/fraser/vswitchperf.yaml
@@ -7,6 +7,9 @@ releases:
- version: opnfv-6.0.0
location:
vswitchperf: 998842df061caf3f90adf756c78667262525a6e0
+ - version: opnfv-6.1.0
+ location:
+ vswitchperf: 998842df061caf3f90adf756c78667262525a6e0
branches:
- name: stable/fraser
diff --git a/releases/fraser/yardstick.yaml b/releases/fraser/yardstick.yaml
index 59f6c10aa..25ab64ced 100644
--- a/releases/fraser/yardstick.yaml
+++ b/releases/fraser/yardstick.yaml
@@ -7,6 +7,9 @@ releases:
- version: opnfv-6.0.0
location:
yardstick: a4c8f2a99f56dd4c9fbac4021706aa9186d23ed8
+ - version: opnfv-6.1.0
+ location:
+ yardstick: 7dc30d54a77249d95d2a89770393cee98ff63c8c
branches:
- name: stable/fraser
diff --git a/releases/scripts/release-status.sh b/releases/scripts/release-status.sh
new file mode 100644
index 000000000..da66bc936
--- /dev/null
+++ b/releases/scripts/release-status.sh
@@ -0,0 +1,25 @@
+#!/bin/bash
+# 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
+##############################################################################
+set -o pipefail
+
+TAG="${TAG:-opnfv-6.0.0}"
+RELEASE="${RELEASE:-fraser}"
+
+for project in releases/$RELEASE/*; do
+ python releases/scripts/repos.py -n -f $project >> repos.txt
+done
+
+while read -r repo
+do
+ tag="$(git ls-remote "https://gerrit.opnfv.org/gerrit/$repo.git" "refs/tags/$TAG")"
+ echo "$repo $tag"
+done < repos.txt
+
+# rm repos.txt
diff --git a/releases/scripts/repos.py b/releases/scripts/repos.py
new file mode 100644
index 000000000..0ded0207b
--- /dev/null
+++ b/releases/scripts/repos.py
@@ -0,0 +1,60 @@
+#!/usr/bin/env python2
+# 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
+##############################################################################
+"""
+List Release Repos
+"""
+
+import argparse
+import yaml
+
+
+def main():
+ """Given a release yamlfile list the repos it contains"""
+
+ parser = argparse.ArgumentParser()
+ parser.add_argument('--file', '-f',
+ type=argparse.FileType('r'),
+ required=True)
+ parser.add_argument('--names', '-n',
+ action='store_true',
+ default=False,
+ help="Only print the names of repos, "
+ "not their SHAs")
+ parser.add_argument('--release', '-r',
+ type=str,
+ help="Only print"
+ "SHAs for the specified release")
+ args = parser.parse_args()
+
+ project = yaml.safe_load(args.file)
+
+ list_repos(project, args)
+
+
+def list_repos(project, args):
+ """List repositories in the project file"""
+
+ lookup = project.get('releases', [])
+ if 'releases' not in project:
+ exit(0)
+
+ for item in lookup:
+ repo, ref = next(iter(item['location'].items()))
+ if args.names:
+ print(repo)
+ elif args.release and item['version'] == args.release:
+ print("%s %s" % (repo, ref))
+ elif not args.release:
+ # Print all releases
+ print("%s %s %s" % (repo, item['version'], ref))
+
+
+if __name__ == "__main__":
+ main()