jobs:
- 'apex-verify-{stream}'
- 'apex-merge-{stream}'
+ - 'apex-build-{stream}'
+ - 'apex-deploy-virtual-{stream}'
+ - 'apex-deploy-baremetal-{stream}'
- 'apex-daily-{stream}'
# stream: branch with - in place of / (eg. stable-arno)
- compare-type: ANT
pattern: 'docs/**'
+ properties:
+ - build-blocker:
+ use-build-blocker: true
+ blocking-jobs:
+ - "apex-daily.*"
+
builders:
- 'apex-build'
- 'apex-deploy-virtual'
node: opnfv-jump-1
+ disabled: true
+
parameters:
- apex-parameter:
gs-pathname: '{gs-pathname}'
- 'apex-workspace-cleanup'
- job-template:
- name: 'apex-daily-{stream}'
+ name: 'apex-build-{stream}'
- # Job template for daily builders
+ # Job template for builds
#
# Required Variables:
# stream: branch with - in place of / (eg. stable)
refspec: ''
branch: '{branch}'
- triggers:
- - 'apex-{stream}'
-
builders:
- 'apex-build'
- 'apex-deploy-virtual'
- 'apex-upload-artifact'
- 'apex-workspace-cleanup'
+
+- job-template:
+ name: 'apex-deploy-virtual-{stream}'
+
+ # Job template for virtual deployment
+ #
+ # Required Variables:
+ # stream: branch with - in place of / (eg. stable)
+ # branch: branch (eg. stable)
+ node: opnfv-jump-1
+
+ disabled: false
+
+ scm:
+ - git-scm:
+ credentials-id: '{ssh-credentials}'
+ refspec: ''
+ branch: '{branch}'
+
+ parameters:
+ - project-parameter:
+ project: '{project}'
+ - apex-parameter:
+ gs-pathname: '{gs-pathname}'
+ flags: '{flags}'
+
+ builders:
+ - 'apex-deploy-virtual'
+ - 'apex-workspace-cleanup'
+
+- job-template:
+ name: 'apex-deploy-baremetal-{stream}'
+
+ # Job template for baremetal deployment
+ #
+ # Required Variables:
+ # stream: branch with - in place of / (eg. stable)
+ # branch: branch (eg. stable)
+ node: opnfv-jump-1
+
+ disabled: true
+
+ scm:
+ - git-scm:
+ credentials-id: '{ssh-credentials}'
+ refspec: ''
+ branch: '{branch}'
+
+ parameters:
+ - project-parameter:
+ project: '{project}'
+ - apex-parameter:
+ gs-pathname: '{gs-pathname}'
+ flags: '{flags}'
+
+ builders:
+ - 'apex-workspace-cleanup'
+
+- job-template:
+ name: 'apex-daily-{stream}'
+
+ # Job template for daily build
+ #
+ # Required Variables:
+ # stream: branch with - in place of / (eg. stable)
+ # branch: branch (eg. stable)
+ node: opnfv-jump-1
+
+ disabled: false
+
+ scm:
+ - git-scm:
+ credentials-id: '{ssh-credentials}'
+ refspec: ''
+ branch: '{branch}'
+
+ parameters:
+ - project-parameter:
+ project: '{project}'
+ - apex-parameter:
+ gs-pathname: '{gs-pathname}'
+ flags: '{flags}'
+
+ properties:
+ - build-blocker:
+ use-build-blocker: true
+ blocking-jobs:
+ - "apex-daily.*"
+
+ triggers:
+ - 'apex-{stream}'
+
+ builders:
+ - trigger-builds:
+ - project: 'apex-build-{stream}'
+ git-revision: true
+ block: true
+ - trigger-builds:
+ - project: 'apex-deploy-virtual-{stream}'
+ git-revision: true
+ block: true
+ - trigger-builds:
+ - project: 'apex-deploy-baremetal-{stream}'
- trigger-builds:
- project: 'functest-apex-{stream}'
block: true
- parameter:
name: apex-parameter
parameters:
+ - string:
+ name: ARTIFACT_NAME
+ default: 'latest'
+ description: "RPM Artifact name that will be appended to GS_URL to deploy a specific artifact"
- string:
name: BUILD_DIRECTORY
default: $WORKSPACE/build_output
echo "--------------------------------------------------------"
echo
- # source the file so we get OPNFV vars
+ if [[ ! "$ARTIFACT_NAME" == "latest" ]]; then
+ # if artifact name is passed the pull a
+ # specific artifact from artifacts.opnfv.org
+ RPM_INSTALL_PATH=$GS_URL/$ARTIFACT_NAME
+ else
+ if [[ -f opnfv.properties ]]; then
+ # if opnfv.properties exists then use the
+ # local build. Source the file so we get local OPNFV vars
+ source opnfv.properties
+ RPM_INSTALL_PATH=build_output/$(basename $OPNFV_RPM_URL)
+ else
+ # no opnfv.properties means use the latest from artifacts.opnfv.org
+ # get the latest.properties to get the link to the latest artifact
+ curl -s -o $WORKSPACE/opnfv.properties http://$GS_URL/latest.properties
+ [[ -f opnfv.properties ]] || exit 1
+ # source the file so we get OPNFV vars
+ source opnfv.properties
+ RPM_INSTALL_PATH=$RPM_URL
+ fi
+ fi
+
source opnfv.properties
RPM_INSTALL_PATH=build_output/$(basename $OPNFV_RPM_URL)
jobs:
- 'bottlenecks-test'
- 'bottlenecks-verify'
- - 'bottlenecks-daily-{stream}'
- 'bottlenecks-merge'
+ - 'bottlenecks-daily-{installer}-{pod}-{stream}'
# stream: branch with - in place of / (eg. stable-arno)
# branch: branch (eg. stable/arno)
+ pod:
+ - lf:
+ node: 'opnfv-jump-2'
+ installer_type: 'fuel'
+ installer_ip: '10.20.0.2'
+
+ installer:
+ -fuel
+
stream:
- master:
branch: 'master'
echo "Hello world from bottlenecks"
- job-template:
- name: 'bottlenecks-daily-{stream}'
-
- # Job template for daily builders
- #
- # Required Variables:
- # stream: branch with - in place of / (eg. stable)
- # branch: branch (eg. stable)
-
- varsetabove: '{somevar}'
-
- logrotate:
- daysToKeep: 30
- numToKeep: 10
- artifactDaysToKeep: -1
- artifactNumToKeep: -1
-
- parameters:
- - project-parameter:
- project: '{project}'
-
- scm:
- - git-scm:
- credentials-id: '{ssh-credentials}'
- refspec: ''
- branch: '{branch}'
-
- triggers:
- - timed: 'H H * * *'
-
- prebuilders:
- - test-macro
-
- builders:
- - shell: |
- echo "hello world"
-
- postbuilders:
- - test-macro
-- job-template:
name: 'bottlenecks-verify'
logrotate:
#
# This job's purpose is to update all the JJB
+ logrotate:
+ daysToKeep: 30
+ numToKeep: 40
+ artifactDaysToKeep: -1
+ artifactNumToKeep: 5
+
parameters:
- project-parameter:
project: '{project}'
- shell: |
echo "hello world"
+- job-template:
+ name: 'bottlenecks-daily-{installer}-{pod}-{stream}'
+
+ disabled: false
+
+ node: '{node}'
+
+ parameters:
+ - project-parameter:
+ project: '{project}'
+ - '{pod}-parameters'
+ - string:
+ name: POD_NAME
+ default: '{pod}'
+ description: "POD where the job runs"
+ - string:
+ name: INSTALLER_TYPE
+ default: '{installer_type}'
+ description: "Installer name that is used for deployment."
+ - string:
+ name: INSTALLER_IP
+ default: '{installer_ip}'
+ description: "Installer IP."
+
+ scm:
+ - git-scm:
+ credentials-id: '{ssh-credentials}'
+ refspec: ''
+ branch: '{branch}'
+
+ logrotate:
+ daysToKeep: 30
+ numToKeep: 10
+ artifactDaysToKeep: -1
+ artifactNumToKeep: -1
+
+ triggers:
+ - 'bottlenecks-trigger-{pod}'
+
+ builders:
+ - 'bottlenecks-fetch-os-creds'
+ - 'run-rubbos-env-preparation'
+ - 'run-rubbos-tools-installation'
+ - 'rubbos-exec'
+
+ publishers:
+ - email:
+ recipients: hongbo.tianhongbo@huawei.com matthew.lijun@huawei.com
+
+###################################
+#builders for bottlenecks project
+###################################
+- builder:
+ name: bottlenecks-fetch-os-creds
+ builders:
+ - shell:
+ !include-raw ../../utils/fetch_os_creds.sh
+
+- builder:
+ name: run-rubbos-env-preparation
+ builders:
+ - shell: |
+ #!/bin/bash
+ set -o errexit
+
+ echo "Bottlenecks: export openstack parameters before rubbos running"
+
+ cd $WORKSPACE
+ ./rubbos/rubbos_scripts/1-1-1/scripts/env_preparation.sh
+
+- builder:
+ name: run-rubbos-tools-installation
+ builders:
+ - shell: |
+ #!/bin/bash
+ set -o errexit
+
+ echo "Bottlenecks: to install tools to run rubbos"
+
+ cd $WORKSPACE
+ ./rubbos/rubbos_scripts/1-1-1/scripts/run.sh
+
+- builder:
+ name: rubbos-exec
+ builders:
+ - shell: |
+ #!/bin/bash
+ set -o errexit
+
+ echo "Bottlenecks: rubbos execution"
+
+ cd $WORKSPACE
+ cd ./rubbos/rubbos_scripts/1-1-1
+ source set_bottlenecks_rubbos_env.sh
+ ssh $CONTROL_HOST
+ ./tmp/CONTROL_rubbos_exec.sh
+
+#######################
+#trigger macros
+#######################
+- trigger:
+ name: 'bottlenecks-trigger-lf'
+ triggers:
+ - timed: '@midnight'
chmod a+x $TMPDIR
# set CONFDIR, BRIDGE
-CONFDIR=$WORKSPACE/deploy/templates/virtual_environment/conf
+CONFDIR=$WORKSPACE/deploy/templates/virtual_environment_noha/conf
BRIDGE=pxebr
# log info to console
build-step-failure-threshold: 'never'
failure-threshold: 'never'
unstable-threshold: 'FAILURE'
+ - trigger-builds:
+ - project: 'bottlenecks-daily-fuel-lf-{stream}'
+ block: true
+ block-thresholds:
+ build-step-failure-threshold: 'never'
+ failure-threshold: 'never'
+ unstable-threshold: 'FAILURE'
triggers:
- 'fuel-{stream}-daily-trigger'
echo "Functest: Start Docker and prepare environment"
envs="INSTALLER_TYPE=${INSTALLER_TYPE} -e INSTALLER_IP=${INSTALLER_IP}"
docker pull opnfv/functest:latest_stable
- echo "Functest: Running docker run command: docker run -i -e $envs opnfv/functest /bin/bash &"
- docker run -i -e $envs opnfv/functest /bin/bash &
+ echo "Functest: Running docker run command: docker run -i -e $envs opnfv/functest:latest_stable /bin/bash &"
+ docker run -id -e $envs opnfv/functest:latest_stable /bin/bash
docker ps -a
sleep 5
- container_id=$(docker ps -a | grep opnfv/functest | awk '{print $1}' | head -1)
+ container_id=$(docker ps | grep 'opnfv/functest:latest_stable' | awk '{print $1}' | head -1)
echo "Container ID=${container_id}"
if [ -z ${container_id} ]; then
echo "Cannot find opnfv/functest container ID ${container_id}. Please check if it is existing."
docker start ${container_id}
sleep 5
docker ps
- if [ $(docker ps | grep opnfv/functest | wc -l) == 0 ]; then
+ if [ $(docker ps | grep 'opnfv/functest:latest_stable' | wc -l) == 0 ]; then
echo "The container opnfv/functest with ID=${container_id} has not been properly started. Exiting..."
exit 1
fi
- job-template:
name: 'storperf-verify-{stream}'
- node: intel-jp-build-1
+ node: opnfv-build
logrotate:
daysToKeep: 30
#
# This job's purpose is to update all the JJB
- node: intel-jp-build-1
+ node: opnfv-build
parameters:
- project-parameter:
publishers:
- junit:
results: nosetests.xml
+ - cobertura:
+ report-file: "coverage.xml"
+ only-stable: "true"
+ health-auto-update: "true"
+ stability-auto-update: "true"
+ zoom-coverage-chart: "true"
+ targets:
+ - files:
+ healthy: 10
+ unhealthy: 20
+ failing: 30
+ - method:
+ healthy: 50
+ unhealthy: 40
+ failing: 30
- job-template:
name: 'storperf-daily-{stream}'
# Required Variables:
# stream: branch with - in place of / (eg. stable)
# branch: branch (eg. stable)
- node: intel-jp-build-1
+ node: opnfv-build
disabled: true
"name": self.name,
"description": self.description,
"creation_date": str(self.creation_date),
- "test_cases": test_cases
}