diff options
50 files changed, 529 insertions, 187 deletions
@@ -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() |