summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xjjb/3rd_party_ci/download-netvirt-artifact.sh18
-rwxr-xr-xjjb/3rd_party_ci/install-netvirt.sh3
-rw-r--r--jjb/3rd_party_ci/odl-netvirt.yaml28
-rw-r--r--jjb/apex/apex-snapshot-deploy.sh9
-rw-r--r--jjb/apex/apex-verify-jobs.yaml1
-rw-r--r--jjb/apex/apex.yaml2
-rw-r--r--jjb/apex/apex.yaml.j22
-rw-r--r--jjb/releng/releng-release-tagging.sh2
-rw-r--r--jjb/sfc/sfc-project-jobs.yaml35
-rwxr-xr-x[-rw-r--r--]releases/scripts/release-status.sh4
-rw-r--r--releases/scripts/repos.py42
-rw-r--r--utils/build-server-ansible/main.yml4
12 files changed, 117 insertions, 33 deletions
diff --git a/jjb/3rd_party_ci/download-netvirt-artifact.sh b/jjb/3rd_party_ci/download-netvirt-artifact.sh
index 7ecf8d78d..b1f977a6f 100755
--- a/jjb/3rd_party_ci/download-netvirt-artifact.sh
+++ b/jjb/3rd_party_ci/download-netvirt-artifact.sh
@@ -3,20 +3,21 @@ set -o errexit
set -o nounset
set -o pipefail
-ODL_ZIP=distribution-karaf-0.6.0-SNAPSHOT.zip
-
echo "Attempting to fetch the artifact location from ODL Jenkins"
if [ "$ODL_BRANCH" != 'master' ]; then
DIST=$(echo ${ODL_BRANCH} | sed -rn 's#([a-zA-Z]+)/([a-zA-Z]+)#\2#p')
ODL_BRANCH=$(echo ${ODL_BRANCH} | sed -rn 's#([a-zA-Z]+)/([a-zA-Z]+)#\1%2F\2#p')
else
- DIST='nitrogen'
+ DIST='fluorine'
fi
+
+echo "ODL Distribution is ${DIST}"
+ODL_ZIP="karaf-SNAPSHOT.zip"
CHANGE_DETAILS_URL="https://git.opendaylight.org/gerrit/changes/netvirt~${ODL_BRANCH}~${GERRIT_CHANGE_ID}/detail"
# due to limitation with the Jenkins Gerrit Trigger, we need to use Gerrit REST API to get the change details
-ODL_BUILD_JOB_NUM=$(curl --fail -s ${CHANGE_DETAILS_URL} | grep -Eo "netvirt-distribution-check-${DIST}/[0-9]+" | tail -1 | grep -Eo [0-9]+)
-DISTRO_CHECK_CONSOLE_LOG="https://logs.opendaylight.org/releng/jenkins092/netvirt-distribution-check-${DIST}/${ODL_BUILD_JOB_NUM}/console.log.gz"
-NETVIRT_ARTIFACT_URL=$(curl --fail -s --compressed ${DISTRO_CHECK_CONSOLE_LOG} | grep 'BUNDLE_URL' | cut -d = -f 2)
+ODL_BUILD_JOB_NUM=$(curl --fail ${CHANGE_DETAILS_URL} | grep -Eo "netvirt-distribution-check-${DIST}/[0-9]+" | tail -1 | grep -Eo [0-9]+)
+DISTRO_CHECK_CONSOLE_LOG="https://logs.opendaylight.org/releng/vex-yul-odl-jenkins-1/netvirt-distribution-check-${DIST}/${ODL_BUILD_JOB_NUM}/console.log.gz"
+NETVIRT_ARTIFACT_URL=$(curl --fail --compressed ${DISTRO_CHECK_CONSOLE_LOG} | grep 'BUNDLE_URL' | cut -d = -f 2)
echo -e "URL to artifact is\n\t$NETVIRT_ARTIFACT_URL"
@@ -30,8 +31,9 @@ fi
#TODO(trozet) remove this once odl-pipeline accepts zip files
echo "Converting artifact zip to tar.gz"
-unzip $ODL_ZIP
-tar czf /tmp/${NETVIRT_ARTIFACT} $(echo $ODL_ZIP | sed -n 's/\.zip//p')
+UNZIPPED_DIR=`dirname $(unzip -qql ${ODL_ZIP} | head -n1 | tr -s ' ' | cut -d' ' -f5-)`
+unzip ${ODL_ZIP}
+tar czf /tmp/${NETVIRT_ARTIFACT} ${UNZIPPED_DIR}
echo "Download complete"
ls -al /tmp/${NETVIRT_ARTIFACT}
diff --git a/jjb/3rd_party_ci/install-netvirt.sh b/jjb/3rd_party_ci/install-netvirt.sh
index ed1a12bc8..0dcb7bfe1 100755
--- a/jjb/3rd_party_ci/install-netvirt.sh
+++ b/jjb/3rd_party_ci/install-netvirt.sh
@@ -26,8 +26,7 @@ fi
# but we really should check the cache here, and not use a single cache folder
# for when we support multiple jobs on a single slave
pushd sdnvpn/odl-pipeline/lib > /dev/null
-# FIXME (trozet) remove this once permissions are fixed in sdnvpn repo
-chmod +x odl_reinstaller.sh
+git fetch https://gerrit.opnfv.org/gerrit/sdnvpn refs/changes/17/59017/3 && git checkout FETCH_HEAD
./odl_reinstaller.sh --pod-config ${SNAP_CACHE}/node.yaml \
--odl-artifact /tmp/${NETVIRT_ARTIFACT} --ssh-key-file ${SNAP_CACHE}/id_rsa
popd > /dev/null
diff --git a/jjb/3rd_party_ci/odl-netvirt.yaml b/jjb/3rd_party_ci/odl-netvirt.yaml
index 863eb94dd..c077fce2c 100644
--- a/jjb/3rd_party_ci/odl-netvirt.yaml
+++ b/jjb/3rd_party_ci/odl-netvirt.yaml
@@ -13,8 +13,8 @@
branch: '{stream}'
gs-pathname: ''
disabled: false
- - carbon:
- branch: 'stable/carbon'
+ - oxygen:
+ branch: 'stable/oxygen'
gs-pathname: ''
disabled: false
#####################################
@@ -22,11 +22,11 @@
#####################################
phase:
- 'create-apex-vms':
- slave-label: 'odl-netvirt-virtual-intel'
+ slave-label: 'apex-virtual-master'
- 'install-netvirt':
- slave-label: 'odl-netvirt-virtual-intel'
+ slave-label: 'apex-virtual-master'
- 'postprocess':
- slave-label: 'odl-netvirt-virtual-intel'
+ slave-label: 'apex-virtual-master'
#####################################
# jobs
#####################################
@@ -53,7 +53,17 @@
max-total: 5
max-per-node: 1
option: 'project'
-
+ - build-blocker:
+ use-build-blocker: true
+ blocking-jobs:
+ - 'apex-verify.*'
+ - 'apex-.*-promote.*'
+ - 'apex-virtual.*'
+ - 'odl-netvirt-verify-virtual-create-apex-vms-.*'
+ - 'odl-netvirt-verify-virtual-install-netvirt-.*'
+ - 'functest-netvirt-virtual-suite-.*'
+ - 'odl-netvirt-verify-virtual-postprocess-.*'
+ block-level: 'NODE'
scm:
- git:
url: https://gerrit.opnfv.org/gerrit/apex
@@ -69,7 +79,7 @@
- string:
name: NETVIRT_ARTIFACT
default: distribution-karaf.tar.gz
- - 'odl-netvirt-virtual-intel-defaults'
+ - 'apex-virtual-master-defaults'
triggers:
- gerrit:
@@ -136,7 +146,7 @@
projects:
- name: 'functest-netvirt-virtual-suite-master'
predefined-parameters: |
- DEPLOY_SCENARIO=os-odl_l3-nofeature-ha
+ DEPLOY_SCENARIO=os-odl-nofeature-ha
FUNCTEST_MODE=testcase
FUNCTEST_SUITE_NAME=odl_netvirt
RC_FILE_PATH=$HOME/cloner-info/overcloudrc
@@ -206,7 +216,7 @@
- '{installer}-defaults'
- string:
name: DEPLOY_SCENARIO
- default: 'os-odl_l2-bgpvpn-noha'
+ default: 'os-odl-nofeature-noha'
description: 'Scenario to deploy and test'
- string:
name: GS_URL
diff --git a/jjb/apex/apex-snapshot-deploy.sh b/jjb/apex/apex-snapshot-deploy.sh
index a93421c8e..1810a0036 100644
--- a/jjb/apex/apex-snapshot-deploy.sh
+++ b/jjb/apex/apex-snapshot-deploy.sh
@@ -141,14 +141,15 @@ done
mkdir -p $HOME/cloner-info
cp -f overcloudrc $HOME/cloner-info/
-admin_controller_ip=$(cat overcloudrc | grep -Eo -m 1 "192.0.2.[0-9]+")
+admin_controller_ip=$(cat overcloudrc | grep -Eo -m 1 "192.0.2.[0-9]+" | head -1)
netvirt_url="http://${admin_controller_ip}:8081/restconf/operational/network-topology:network-topology/topology/netvirt:1"
source overcloudrc
counter=1
while [ "$counter" -le 10 ]; do
- if curl --fail --silent ${admin_controller_ip}:80 > /dev/null; then
- echo "Overcloud Horizon is up...Checking if OpenDaylight NetVirt is up..."
+ echo "Checking if OpenStack is up"
+ if nc -z ${admin_controller_ip} 9696 > /dev/null; then
+ echo "Overcloud Neutron is up...Checking if OpenDaylight NetVirt is up..."
if curl --fail --silent -u admin:admin ${netvirt_url} > /dev/null; then
echo "OpenDaylight is up. Overcloud deployment complete"
exit 0
@@ -156,7 +157,7 @@ while [ "$counter" -le 10 ]; do
echo "OpenDaylight not yet up, try ${counter}"
fi
else
- echo "Horizon/Apache not yet up, try ${counter}"
+ echo "Neutron not yet up, try ${counter}"
fi
counter=$((counter+1))
sleep 60
diff --git a/jjb/apex/apex-verify-jobs.yaml b/jjb/apex/apex-verify-jobs.yaml
index 0837a76e4..81e59bdf5 100644
--- a/jjb/apex/apex-verify-jobs.yaml
+++ b/jjb/apex/apex-verify-jobs.yaml
@@ -312,6 +312,7 @@
- 'apex-verify.*'
- 'apex-virtual.*'
- 'apex-.*-promote.*'
+ - 'odl-netvirt.*'
- throttle:
max-per-node: 1
max-total: 10
diff --git a/jjb/apex/apex.yaml b/jjb/apex/apex.yaml
index 65e558820..e24a2c358 100644
--- a/jjb/apex/apex.yaml
+++ b/jjb/apex/apex.yaml
@@ -347,6 +347,7 @@
- 'yardstick.*'
- 'dovetail.*'
- 'storperf.*'
+ - 'odl-netvirt.*'
- throttle:
max-per-node: 1
max-total: 10
@@ -401,6 +402,7 @@
- 'apex-run.*'
- 'apex-virtual-.*'
- 'apex-verify-gate-.*'
+ - 'odl-netvirt.*'
- throttle:
max-per-node: 1
max-total: 10
diff --git a/jjb/apex/apex.yaml.j2 b/jjb/apex/apex.yaml.j2
index f1208d27e..1f5232b5f 100644
--- a/jjb/apex/apex.yaml.j2
+++ b/jjb/apex/apex.yaml.j2
@@ -219,6 +219,7 @@
- 'yardstick.*'
- 'dovetail.*'
- 'storperf.*'
+ - 'odl-netvirt.*'
- throttle:
max-per-node: 1
max-total: 10
@@ -273,6 +274,7 @@
- 'apex-run.*'
- 'apex-virtual-.*'
- 'apex-verify-gate-.*'
+ - 'odl-netvirt.*'
- throttle:
max-per-node: 1
max-total: 10
diff --git a/jjb/releng/releng-release-tagging.sh b/jjb/releng/releng-release-tagging.sh
index 10c0cc8c9..e1b93518f 100644
--- a/jjb/releng/releng-release-tagging.sh
+++ b/jjb/releng/releng-release-tagging.sh
@@ -57,7 +57,7 @@ for release_file in $RELEASE_FILES; do
echo "--> Creating $tag tag for $repo at $ref"
git tag -am "$tag" $tag $ref
echo "--> Pushing tag"
- echo "[noop] git push origin $tag"
+ git push origin $tag
else
# For non-merge jobs just output the ref info.
git show -s --format="%h %s %d" $ref
diff --git a/jjb/sfc/sfc-project-jobs.yaml b/jjb/sfc/sfc-project-jobs.yaml
index fea792467..70fc332b8 100644
--- a/jjb/sfc/sfc-project-jobs.yaml
+++ b/jjb/sfc/sfc-project-jobs.yaml
@@ -60,14 +60,43 @@
pattern: 'docs/**|.gitignore'
builders:
- - sfc-unit-tests
+ - sfc-unit-tests-and-docs
+
+ publishers:
+ - sfc-unit-tests-and-docs-publisher
################################
# job builders
################################
- builder:
- name: sfc-unit-tests
+ name: sfc-unit-tests-and-docs
builders:
- shell: |
- cd $WORKSPACE && yamllint $(git ls-tree -r HEAD --name-only | egrep 'yml$|yaml$' | egrep -v 'scenarios')
+ cd $WORKSPACE && tox
+
+################################
+# job publishers
+################################
+- publisher:
+ name: 'sfc-unit-tests-and-docs-publisher'
+ publishers:
+ - junit:
+ results: nosetests.xml
+ - cobertura:
+ report-file: "coverage.xml"
+ only-stable: "true"
+ fail-no-reports: "true"
+ health-auto-update: "true"
+ stability-auto-update: "true"
+ zoom-coverage-chart: "true"
+ targets:
+ - files:
+ healthy: 0
+ unhealthy: 0
+ failing: 0
+ - method:
+ healthy: 0
+ unhealthy: 0
+ failing: 0
+ - email-jenkins-admins-on-failure
diff --git a/releases/scripts/release-status.sh b/releases/scripts/release-status.sh
index da66bc936..6790100a7 100644..100755
--- a/releases/scripts/release-status.sh
+++ b/releases/scripts/release-status.sh
@@ -12,6 +12,8 @@ set -o pipefail
TAG="${TAG:-opnfv-6.0.0}"
RELEASE="${RELEASE:-fraser}"
+[ -a repos.txt ] && rm repos.txt
+
for project in releases/$RELEASE/*; do
python releases/scripts/repos.py -n -f $project >> repos.txt
done
@@ -21,5 +23,3 @@ 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
index 0ded0207b..58454c318 100644
--- a/releases/scripts/repos.py
+++ b/releases/scripts/repos.py
@@ -15,6 +15,38 @@ import argparse
import yaml
+class Repo(object):
+ """Object representing a repo listed in the release file.
+
+ Includes eq, hash, and ne methods so set comparisons work
+ """
+
+ def __init__(self, repo=None, ref=None, version=None):
+ self.repo = repo
+ self.ref = ref
+ self.version = version
+
+ def __repr__(self):
+ if self.version:
+ return "%s %s %s" % (self.repo, self.ref, self.version)
+ elif self.ref:
+ return "%s %s" % (self.repo, self.ref)
+ return "%s" % self.repo
+
+ def __eq__(self, obj):
+ if isinstance(obj, Repo):
+ return ((self.repo == obj.repo) and
+ (self.ref == obj.ref) and
+ (self.version == obj.version))
+ return False
+
+ def __ne__(self, obj):
+ return (not self.__eq__(obj))
+
+ def __hash__(self):
+ return hash(self.__repr__())
+
+
def main():
"""Given a release yamlfile list the repos it contains"""
@@ -45,15 +77,17 @@ def list_repos(project, args):
if 'releases' not in project:
exit(0)
+ repos = set()
for item in lookup:
repo, ref = next(iter(item['location'].items()))
if args.names:
- print(repo)
+ repos.add(Repo(repo))
elif args.release and item['version'] == args.release:
- print("%s %s" % (repo, ref))
+ repos.add(Repo(repo, ref))
elif not args.release:
- # Print all releases
- print("%s %s %s" % (repo, item['version'], ref))
+ repos.add(Repo(repo, ref, item['version']))
+ for repo in repos:
+ print repo
if __name__ == "__main__":
diff --git a/utils/build-server-ansible/main.yml b/utils/build-server-ansible/main.yml
index 0fcce715d..c9f244bee 100644
--- a/utils/build-server-ansible/main.yml
+++ b/utils/build-server-ansible/main.yml
@@ -31,6 +31,10 @@
pip:
name: tox
state: present
+ - name: install yamllint
+ pip:
+ name: yamllint
+ state: present
- include: vars/docker-compose-CentOS.yml
when: ansible_distribution == "CentOS"
- include: vars/docker-compose-Ubuntu.yml