-Subproject commit 53065905f076834d00bfa542c2feeb8553ac177e
+Subproject commit 3b2df8d227667ad2545a99979daae006c656372d
LABELS=centos7-robot-2c-8g
IMAGE_NAME=ZZCI - CentOS 7 - robot - x86_64 - 20200813-045046.282
HARDWARE_ID=odl-standard-2
-INSTANCE_CAP=25
+INSTANCE_CAP=20
SIGUL_KEY=odl-release-2020
SILO=releng
SONAR_URL=https://sonar.opendaylight.org
-S3_BUCKET=
+S3_BUCKET=odl-logs-s3-cloudfront-index
+CDN_URL=s3-logs.opendaylight.org
SIGUL_KEY=odl-sandbox
SILO=sandbox
SONAR_URL=https://sonar.opendaylight.org
-S3_BUCKET=
+S3_BUCKET=odl-logs-s3-cloudfront-index
+CDN_URL=s3-logs.opendaylight.org
- project: "integration-distribution-test-{integration-test}"
condition: FAILED
trigger-with-no-params: true
- - project: "packaging-build-rpm-{stream}"
- condition: UNSTABLE_OR_BETTER
- predefined-parameters: DOWNLOAD_URL=$BUNDLE_URL
- property-file: variables.jenkins-trigger
- fail-on-missing: true
- - project: "packaging-build-deb-{stream}"
- condition: UNSTABLE_OR_BETTER
- predefined-parameters: DOWNLOAD_URL=$BUNDLE_URL
- property-file: variables.jenkins-trigger
- fail-on-missing: true
# Critical component of the OpenDaylight community
- postbuildscript:
builders:
odl-clustering-test-app
# Robot custom options
- robot-options: ""
+ robot-options: "-v DNB_CHECK_PERIOD:15s"
gerrit-host: "git.opendaylight.org"
gerrit-topic: "auto-update-csit-jobs-{stream}"
gerrit-commit-message: "Auto Update CSIT Jobs to run for {stream}"
- reviewers-email: "jluhrsen@gmail.com"
+ reviewers-email: "integration-dev@lists.opendaylight.org"
publishers:
- lf-infra-publish
+++ /dev/null
-#!/bin/bash
-
-# Options:
-# -x: Echo commands
-# -e: Fail on errors
-# -o pipefail: Fail on errors in scripts this calls, give stacktrace
-set -ex -o pipefail
-
-# Install required packages
-virtualenv deb_build
-# shellcheck disable=SC1091
-source deb_build/bin/activate
-PYTHON="deb_build/bin/python"
-$PYTHON -m pip install --upgrade pip
-$PYTHON -m pip install -r "$WORKSPACE/packaging/packages/requirements.txt"
-
-# Build release specified by build params
-"$WORKSPACE/packaging/packages/build.py" --deb \
- --changelog_name "$CHANGELOG_NAME" \
- --changelog_email "$CHANGELOG_EMAIL" \
- direct \
- --download_url "$DOWNLOAD_URL"
-
-# Publish debs to Nexus if in production Jenkins, else host on sandbox Jenkins
-if [ "$SILO" == "sandbox" ]; then
- # TODO: Host debs on Jenkins temporarily
- echo "Not uploading debs to Nexus because running in sandbox"
-elif [ "$SILO" == "releng" ]; then
- # Copy the debs to be upload
- # Move debs to dir of files that will be uploaded to Nexus
- UPLOAD_FILES_PATH="$WORKSPACE/upload_files"
- mkdir -p "$UPLOAD_FILES_PATH"
- # Note: no source packages are available, since the debs are not built
- # from the actual source
- ln -s "$WORKSPACE/packaging/packages/deb/opendaylight/"*.deb "$_"
-else
- echo "Unknown Jenkins silo: $SILO"
- exit 1
-fi
+++ /dev/null
-#!/bin/bash
-
-# Options:
-# -x: Echo commands
-# -e: Fail on errors
-# -o pipefail: Fail on errors in scripts this calls, give stacktrace
-set -ex -o pipefail
-
-env | grep STREAM > env-file
-
-scripts_path=/builder/jjb/packaging
-
-if [ "$DISTRO" == "epel-7" ]; then
- docker_id=$(sudo docker run --env-file env-file --name build_rpm_epel -di --privileged -v /sys/fs/cgroup:/sys/fs/cgroup:ro centos /usr/lib/systemd/systemd)
- sudo docker exec "$docker_id" /usr/bin/yum -y install sudo rpmdevtools rpmbuild git python-virtualenv python
-elif [ "$DISTRO" == "opensuse-42" ]; then
- docker_id=$(sudo docker run --env-file env-file --name build_rpm_suse -di --privileged -v /sys/fs/cgroup:/sys/fs/cgroup:ro opensuse /usr/lib/systemd/systemd)
- sudo docker exec "$docker_id" /usr/bin/zypper -n install sudo rpmdevtools rpmbuild git python-virtualenv python
-fi
-
-sudo docker cp "$(pwd)"/packaging/ "$docker_id":/packaging
-
-sudo docker exec "$docker_id" git clone https://git.opendaylight.org/gerrit/releng/builder
-
-sudo docker exec "$docker_id" /bin/bash $scripts_path/build-rpm-snap.sh
+++ /dev/null
-#!/bin/bash
-
-# Options:
-# -x: Echo commands
-# -e: Fail on errors
-# -o pipefail: Fail on errors in scripts this calls, give stacktrace
-set -ex -o pipefail
-
-# Install required packages
-virtualenv rpm_build
-# shellcheck disable=SC1091
-source rpm_build/bin/activate
-PYTHON="rpm_build/bin/python"
-$PYTHON -m pip install --upgrade pip
-$PYTHON -m pip install -r "$WORKSPACE/packaging/packages/requirements.txt"
-
-# Convert stream to numeric ODL major version
-if [ "$STREAM" == "sodium" ]; then
- VERSION_MAJOR=11
-elif [ "$STREAM" == "magnesium" ]; then
- VERSION_MAJOR=12
-elif [ "$STREAM" == "aluminium" ]; then
- VERSION_MAJOR=13
-elif [ "$STREAM" == "silicon" ]; then
- VERSION_MAJOR=14
-else
- echo "Unable to convert stream to major version"
- echo "MAINTAINER: Update if/else switch above with recent stream/ver pairs"
- exit 1
-fi
-
-# Build the latest snapshot matching the given major minor version
-"$WORKSPACE/packaging/packages/build.py" --rpm \
- --changelog_name "$CHANGELOG_NAME" \
- --changelog_email "$CHANGELOG_EMAIL" \
- latest_snap \
- --major "$VERSION_MAJOR"
+++ /dev/null
-#!/bin/bash
-
-# Options:
-# -x: Echo commands
-# -e: Fail on errors
-# -o pipefail: Fail on errors in scripts this calls, give stacktrace
-set -ex -o pipefail
-
-# Install required packages
-virtualenv rpm_build
-# shellcheck disable=SC1091
-source rpm_build/bin/activate
-PYTHON="rpm_build/bin/python"
-$PYTHON -m pip install --upgrade pip
-$PYTHON -m pip install -r "$WORKSPACE/packaging/packages/requirements.txt"
-
-# Verify artifact at DOWNLOAD_URL exists
-# shellcheck disable=SC2154
-url_status=$(curl --silent --head --location --output /dev/null --write-out \
- '%{http_code}' "$DOWNLOAD_URL")
-if [[ $url_status = 2* ]]; then
- echo "Artifact at DOWNLOAD_URL exists"
-else
- echo "Artifact at DOWNLOAD_URL does not exist"
- exit 1
-fi
-
-
-# Packaging logic needs a tarball, but can repackage a zip into tar.gz
-# if needed. All builds except multipatch-test publish both a tar.gz and zip.
-# Autorelease passes DOWNLOAD_URL to zip, others typically use tar.gz.
-# If URL is to zip, check if there's a tar.gz available to avoid repackaging.
-if [[ $DOWNLOAD_URL = *.zip ]]; then
- # shellcheck disable=SC2154
- candidate_tarball_url="${DOWNLOAD_URL//zip/tar.gz}"
- # shellcheck disable=SC2154
- url_status=$(curl --silent --head --location --output /dev/null --write-out \
- '%{http_code}' "$candidate_tarball_url")
- if [[ $url_status = 2* ]]; then
- DOWNLOAD_URL="$candidate_tarball_url"
- fi
-fi
-
-# Build release specified by build params
-"$WORKSPACE/packaging/packages/build.py" --rpm \
- --changelog_name "$CHANGELOG_NAME" \
- --changelog_email "$CHANGELOG_EMAIL" \
- direct \
- --download_url "$DOWNLOAD_URL" \
- --pkg_version "$PKG_VERSION_OVERRIDE"
-
-# Always allow push to scratch repos, only push to CD repos in RelEng Jenkins
-if [ "$DEPLOY_TO_REPO" == "opendaylight-epel-7-x86_64-devel" ]; then
- # Move RPMs (SRPM and noarch) to dir of files that will be uploaded to Nexus
- UPLOAD_FILES_PATH="$WORKSPACE/upload_files"
- mkdir -p "$UPLOAD_FILES_PATH"
- cp "$HOME/rpmbuild/RPMS/noarch/"*.rpm "$_"
- cp "$HOME/rpmbuild/SRPMS/"*.rpm "$_"
-else
- # Publish RPMs to CD repos if in production Jenkins, not in sandbox Jenkins
- if [ "$SILO" == "sandbox" ]; then
- echo "Not uploading RPMs to Nexus because running in sandbox"
- elif [ "$SILO" == "releng" ]; then
- # Move RPMs (SRPM+noarch) to dir of files that will be uploaded to Nexus
- UPLOAD_FILES_PATH="$WORKSPACE/upload_files"
- mkdir -p "$UPLOAD_FILES_PATH"
- cp "$HOME/rpmbuild/RPMS/noarch/"*.rpm "$_"
- cp "$HOME/rpmbuild/SRPMS/"*.rpm "$_"
- else
- echo "Unknown Jenkins silo: $SILO"
- exit 1
- fi
-fi
+++ /dev/null
-#!/bin/bash
-
-# Options:
-# -x: Echo commands
-# -e: Fail on errors
-# -o pipefail: Fail on errors in scripts this calls, give stacktrace
-set -ex -o pipefail
-PACKAGE=${PACKAGE:-"$WORKSPACE/packaging/packages/deb/opendaylight/*.deb"}
-URL_REGEX='(https?|ftp|file)://[-A-Za-z0-9\+&@#/%?=~_|!:,.;]*[-A-Za-z0-9\+&@#/%=~_|]'
-# Wait for any background apt processes to finish
-# There seems to be a backgroud apt process that locks /var/lib/dpkg/lock
-# and causes our apt commands to fail.
-while pgrep apt > /dev/null; do sleep 1; done
-
-# Install ODL from .deb link or .repo url
-if [[ $PACKAGE =~ $URL_REGEX ]]
-then
- # shellcheck disable=SC2154
- pkg_basename="${PACKAGE##*/}"
- curl -L --silent -o "$pkg_basename" "$PACKAGE"
- sudo dpkg --install ./"$pkg_basename"
-elif [[ $PACKAGE == *.deb ]]
-then
- echo "$PACKAGE"
- sudo dpkg --install "$PACKAGE"
-elif [[ $PACKAGE == ppa:* ]]
-then
- sudo add-apt-repository "$PACKAGE"
- sudo apt-get update
- sudo apt-get install -y opendaylight
-else
- echo "URL is not a link to a PPA repo or .deb"
- exit 1
-fi
+++ /dev/null
-#!/bin/bash
-
-# Options:
-# -x: Echo commands
-# -e: Fail on errors
-# -o pipefail: Fail on errors in scripts this calls, give stacktrace
-set -ex -o pipefail
-
-# Use local RPM in build-out dir if URL not passed
-URL=${URL:-"$HOME/rpmbuild/RPMS/noarch/*.rpm"}
-
-if [ -f /usr/bin/yum ]; then
- # Update mirror list to avoid slow/hung one
- sudo yum update -y yum-plugin-fastestmirror
-
- # Install ODL from RPM path, RPM URL or .repo file url
- # NB: Paths must be anchored at root
- if [[ $URL == /* ]]; then
- # If path is globbed (/path/to/*.rpm), expand it
- path=$(sudo find / -wholename "$URL")
- sudo yum install -y "$path"
- elif [[ $URL == *.rpm ]]; then
- sudo yum install -y "$URL"
- elif [[ $URL == *.repo ]]; then
- # shellcheck disable=SC2154
- repo_file="${URL##*/}"
- sudo curl --silent -o /etc/yum.repos.d/"$repo_file" "$URL"
- sudo yum install -y opendaylight
- else
- echo "URL is not a link to .rpm or .repo"
- exit 1
- fi
-elif [ -f /usr/bin/zypper ]; then
- # Install ODL from RPM path, RPM URL or .repo file url
- # NB: Paths must be anchored at root
- if [[ $URL == /* ]]; then
- # If path is globbed (/path/to/*.rpm), expand it
- path=$(sudo find /root -wholename "$URL")
- sudo zypper -n --no-gpg-checks install "$path"
- elif [[ $URL == *.rpm ]]; then
- sudo zypper -n --no-gpg-checks install "$URL"
- elif [[ $URL == *.repo ]]; then
- # shellcheck disable=SC2154
- repo_file="${URL##*/}"
- sudo curl --silent -o /etc/zypp/repos.d/"$repo_file" "$URL"
- sudo zypper -n --no-gpg-checks install opendaylight
- else
- echo "URL is not a link to .rpm or .repo"
- exit 1
- fi
-else
- echo "The package manager is not supported (not yum or zypper)"
- exit 1
-fi
+++ /dev/null
----
-- project:
- name: packaging-ansible
- project-name: packaging-ansible
-
- jobs:
- - "{project-name}-test-rpm-{stream}"
- - "{project-name}-test-deb-{stream}":
- disable-job: true
- - gerrit-tox-verify
-
- project: "integration/packaging/ansible-opendaylight"
-
- stream:
- - master:
- branch: "master"
-
-- job-template:
- name: "{project-name}-test-rpm-{stream}"
-
- node: centos7-builder-2c-2g
- disable-job: false
-
- project-type: freestyle
-
- disabled: "{disable-job}"
-
- properties:
- - opendaylight-infra-properties:
- build-days-to-keep: 7
-
- parameters:
- - opendaylight-infra-parameters:
- os-cloud: "{os-cloud}"
- project: "{project}"
- branch: "{branch}"
- refspec: "refs/heads/{branch}"
- artifacts: "{archive-artifacts}"
-
- scm:
- - integration-gerrit-scm:
- basedir: "{project-name}"
- refspec: "$GERRIT_REFSPEC"
- branch: "{branch}"
-
- wrappers:
- - opendaylight-infra-wrappers:
- build-timeout: "{build-timeout}"
-
- builders:
- - shell: !include-raw: setup-ansible-rpm.sh
- - shell: !include-raw: test-ansible-rpm-default-config.sh
- - shell: !include-raw: test-ansible-rpm-custom-config.sh
- - shell: !include-raw: test-ansible-rpm-upgrade.sh
-
- triggers:
- - timed: "@weekly"
- - gerrit-trigger-patch-submitted:
- gerrit-server-name: "{gerrit-server-name}"
- project: "{project}"
- branch: "{branch}"
- files: "**"
- forbidden-files: ""
-
- publishers:
- - lf-infra-publish
-
-- job-template:
- name: "{project-name}-test-deb-{stream}"
-
- node: ubuntu1604-mininet-ovs-25-1c-4g
- disable-job: false
-
- project-type: freestyle
-
- disabled: "{disable-job}"
-
- properties:
- - opendaylight-infra-properties:
- build-days-to-keep: 7
-
- parameters:
- - opendaylight-infra-parameters:
- os-cloud: "{os-cloud}"
- project: "{project}"
- branch: "{branch}"
- refspec: "refs/heads/{branch}"
- artifacts: "{archive-artifacts}"
-
- scm:
- - integration-gerrit-scm:
- basedir: "{project-name}"
- refspec: "$GERRIT_REFSPEC"
- branch: "{branch}"
-
- wrappers:
- - opendaylight-infra-wrappers:
- build-timeout: "{build-timeout}"
-
- builders:
- - shell: !include-raw: setup-ansible-deb.sh
- - shell: !include-raw: test-ansible-deb-default-config.sh
- - shell: !include-raw: test-ansible-deb-custom-config.sh
-
- triggers:
- - timed: "@weekly"
- - gerrit-trigger-patch-submitted:
- gerrit-server-name: "{gerrit-server-name}"
- project: "{project}"
- branch: "{branch}"
- files: "**"
- forbidden-files: ""
-
- publishers:
- - lf-infra-publish
-
-- project:
- name: packaging-ansible-view
- views:
- - project-view
- project-name: packaging-ansible
+++ /dev/null
-# Integration/Packaging macros
----
-- builder:
- name: install-rpm
- builders:
- - shell: !include-raw: install-rpm.sh
-
-- builder:
- name: install-repo-cfg-rpm
- builders:
- - shell: |
- # shellcheck disable=SC2154
- repo_file="${REPO_CFG_FILE_URL##*/}"
- sudo curl -s -o /etc/yum.repos.d/"$repo_file" "$REPO_CFG_FILE_URL"
-
-- builder:
- name: start-odl
- builders:
- - shell: !include-raw: start-odl.sh
-
-- builder:
- name: test-odl
- builders:
- - shell: |
- # Install expect to interact with Karaf shell
- # Install nmap to check status of ODL's SSH port
- sudo yum install -y expect nmap
- - shell: !include-raw: test-ports-nofeature.sh
- - shell: !include-raw: test-karaf-oxygensafe.expect
- # Disable this test until ODLPARENT-139 is fixed
- # - shell: !include-raw: test-rest-ok.sh
-
-- builder:
- name: stop-odl
- builders:
- - shell: !include-raw: stop-odl.sh
-
-- builder:
- name: uninstall-rpm
- builders:
- - shell: !include-raw: uninstall-rpm.sh
-
-- builder:
- name: upgrade-odl
- builders:
- - shell: |
- sudo yum upgrade -y opendaylight
-
-- builder:
- name: install-start-test-stop-rpm
- builders:
- - install-rpm
- - start-odl
- - test-odl
- - stop-odl
-
-- builder:
- name: install-start-test-stop-uninstall-rpm
- builders:
- - install-start-test-stop-rpm
- - uninstall-rpm
-
-- builder:
- name: installrepcfg-upgrade-start-test-stop-rpm
- builders:
- - install-repo-cfg-rpm
- - upgrade-odl
- - start-odl
- - test-odl
- - stop-odl
-
-- builder:
- name: install-test-uninstall-rpm
- builders:
- - inject:
- properties-content: "URL=/home/$USER/rpmbuild/RPMS/noarch/*.rpm"
- # Install deps needed interactive Karaf shell tests
- - shell: |
- # Install expect to interact with Karaf shell
- # Install nmap to check status of ODL's SSH port
- sudo yum install -y expect nmap
- - shell: !include-raw: test-rpm-deps.sh
- - shell: !include-raw: install-rpm.sh
- - shell: !include-raw: start-odl.sh
- - shell: !include-raw: test-ports-nofeature.sh
- - shell: !include-raw: test-karaf-oxygensafe.expect
- # Disable this test until ODLPARENT-139 is fixed
- # - shell: !include-raw: test-rest-ok.sh
- - shell: !include-raw: stop-odl.sh
- - shell: !include-raw: uninstall-rpm.sh
- - shell: |
- # Remove old host key (if exists) so future installs don't fail SSH
- rm /home/jenkins/.ssh/known_hosts || \
- echo "No known_hosts file to clean up, which is fine"
-
-- builder:
- name: install-test-uninstall-deb
- builders:
- - inject:
- properties-content: "PACKAGE=$WORKSPACE/packaging/packages/deb/opendaylight/*.deb"
- # Install deps needed interactive Karaf shell tests
- - shell: |
- # Install expect to interact with Karaf shell
- # Install nmap to check status of ODL's SSH port
- sudo apt-get install -y expect nmap
- - shell: !include-raw: test-deb-deps.sh
- - shell: !include-raw: install-deb.sh
- - shell: !include-raw: start-odl.sh
- - shell: !include-raw: test-ports-nofeature.sh
- - shell: !include-raw: test-karaf-oxygensafe.expect
- # Disable this test until ODLPARENT-139 is fixed
- # - shell: !include-raw: test-rest-ok.sh
- - shell: !include-raw: stop-odl.sh
- - shell: !include-raw: uninstall-deb.sh
- - shell: |
- # Remove old host key (if exists) so future installs don't fail SSH
- rm /home/jenkins/.ssh/known_hosts || \
- echo "No known_hosts file to clean up, which is fine"
+++ /dev/null
----
-- project:
- name: packaging-puppet
- project-name: packaging-puppet
-
- jobs:
- - "{project-name}-test-sanity-{stream}"
- - "{project-name}-test-full-{stream}"
- - gerrit-tox-verify
-
- project: "integration/packaging/puppet-opendaylight"
-
- stream:
- - master:
- branch: "master"
- - fluorine:
- branch: "stable/fluorine"
-
-- job-template:
- name: "{project-name}-test-sanity-{stream}"
-
- node: centos7-docker-1c-4g
- disable-job: false
-
- project-type: freestyle
- disabled: "{disable-job}"
-
- properties:
- - opendaylight-infra-properties:
- build-days-to-keep: 7
-
- parameters:
- - opendaylight-infra-parameters:
- os-cloud: "{os-cloud}"
- project: "{project}"
- branch: "{branch}"
- refspec: "refs/heads/{branch}"
- artifacts: "{archive-artifacts}"
- - string:
- name: TEST_SUITE
- default: "sanity"
- description: "Set of tests to execute, Rakefile task"
-
- scm:
- - integration-gerrit-scm:
- basedir: "{project-name}"
- refspec: "$GERRIT_REFSPEC"
- branch: "{branch}"
-
- wrappers:
- - opendaylight-infra-wrappers:
- build-timeout: "{build-timeout}"
-
- builders:
- - shell: !include-raw: test-puppet.sh
-
- triggers:
- - timed: "@monthly"
- - gerrit-trigger-patch-submitted:
- gerrit-server-name: "{gerrit-server-name}"
- project: "{project}"
- branch: "{branch}"
- files: "**"
- forbidden-files: ""
-
- publishers:
- - lf-infra-publish
-
-- job-template:
- name: "{project-name}-test-full-{stream}"
-
- node: centos7-docker-1c-4g
- disable-job: false
-
- project-type: freestyle
- disabled: "{disable-job}"
-
- properties:
- - opendaylight-infra-properties:
- build-days-to-keep: 7
-
- parameters:
- - opendaylight-infra-parameters:
- os-cloud: "{os-cloud}"
- project: "{project}"
- branch: "{branch}"
- refspec: "refs/heads/{branch}"
- artifacts: "{archive-artifacts}"
- - string:
- name: TEST_SUITE
- default: "acceptance_dock"
- description: "Set of tests to execute, Rakefile task"
-
- scm:
- - integration-gerrit-scm:
- basedir: "{project-name}"
- refspec: "$GERRIT_REFSPEC"
- branch: "{branch}"
-
- wrappers:
- - opendaylight-infra-wrappers:
- build-timeout: "{build-timeout}"
-
- builders:
- - shell: !include-raw: test-puppet.sh
-
- triggers:
- - timed: "@weekly"
- - gerrit:
- server-name: "{gerrit-server-name}"
- trigger-on:
- - comment-added-contains-event:
- comment-contains-value: "puppet-test-full"
- projects:
- - project-compare-type: "ANT"
- project-pattern: "{project}"
- branches:
- - branch-compare-type: "ANT"
- branch-pattern: "**/{branch}"
-
- publishers:
- - lf-infra-publish
-
-- project:
- name: packaging-puppet-view
- views:
- - project-view
- project-name: packaging-puppet
+++ /dev/null
----
-- project:
- name: packaging
- project-name: packaging
-
- jobs:
- - "{project-name}-rtd-jobs":
- build-node: centos7-builder-2c-2g
- doc-dir: .tox/docs/tmp/html
- project-pattern: integration/packaging
- rtd-build-url: https://readthedocs.org/api/v2/webhook/odl-integrationpackaging/32928/
- rtd-token: 371d63c43ad99b0745bb7779e3488c5e255c1180
- - "packaging-build-rpm-{stream}"
- - "packaging-build-rpm-{distro}-snap-{stream}"
- - "packaging-build-deb-{stream}":
- disable-job: true
- - "packaging-verify-full-rpm-master"
- - "packaging-verify-rpm-master"
- - "packaging-test-rpm-master"
- - "packaging-test-rpm-upgrade-master"
- - "packaging-test-deb-master":
- disable-job: true
- - gerrit-tox-verify:
- branch: master
- stream: master
-
- project: "integration/packaging"
-
- stream:
- - sodium
-
- distro:
- - opensuse-42
- - epel-7
- branch: "master"
-
- # common parameters required for 'lf-infra-deploy-maven-file' builder
- group-id: "org.opendaylight.integration-packaging"
- upload-files-dir: "$WORKSPACE/upload_files"
- maven-repo-url: "$NEXUS_URL/content/repositories/$REPO_ID"
-
-- job-template:
- name: "packaging-build-rpm-{stream}"
-
- disable-job: false
-
- node: centos7-builder-2c-2g
-
- project-type: freestyle
- disabled: "{disable-job}"
-
- mvn-opts: ""
- mvn-params: ""
- mvn-version: mvn33
-
- properties:
- - opendaylight-infra-properties:
- build-days-to-keep: 7
-
- parameters:
- - opendaylight-infra-parameters:
- os-cloud: "{os-cloud}"
- project: "{project}"
- branch: "{branch}"
- refspec: "refs/heads/{branch}"
- artifacts: "{archive-artifacts}"
- - lf-infra-maven-parameters:
- mvn-opts: "{mvn-opts}"
- mvn-params: "{mvn-params}"
- mvn-version: "{mvn-version}"
- staging-profile-id: ""
- - string:
- name: DOWNLOAD_URL
- # yamllint disable-line rule:line-length
- default: "https://nexus.opendaylight.org/content/repositories/opendaylight.release/org/opendaylight/integration/karaf/0.8.4/karaf-0.8.4.tar.gz"
- description: "URL to ODL tarball artifact to repackage into RPM"
- - string:
- name: CHANGELOG_NAME
- default: "Jenkins"
- description: "Name of person who defined RPM"
- - string:
- name: CHANGELOG_EMAIL
- default: "jenkins-donotreply@opendaylight.org"
- description: "Email of person who defined RPM"
- - string:
- name: DEPLOY_TO_REPO
- default: "opendaylight-{stream}-epel-7-x86_64-devel"
- description: "Repository to deploy resulting package to"
- - string:
- name: PKG_VERSION_OVERRIDE
- default: ""
- description: "Override autodetected package component of RPM version (maj.min.pat-pkg)"
-
- scm:
- - integration-gerrit-scm:
- basedir: "packaging"
- refspec: "$GERRIT_REFSPEC"
- branch: "master"
-
- wrappers:
- - opendaylight-infra-wrappers:
- build-timeout: "{build-timeout}"
-
- builders:
- - lf-infra-pre-build
- - shell: !include-raw-escape: build-rpm.sh
- - install-test-uninstall-rpm
- - lf-infra-deploy-maven-file:
- global-settings-file: "global-settings"
- settings-file: "packaging-settings"
- mvn-version: "{mvn-version}"
- repo-id: "$DEPLOY_TO_REPO"
- group-id: "{group-id}"
- upload-files-dir: "{upload-files-dir}"
- maven-repo-url: "{maven-repo-url}"
-
- publishers:
- - lf-infra-publish
-
-- job-template:
- name: "packaging-build-rpm-{distro}-snap-{stream}"
-
- node: centos7-docker-2c-2g
- disable-job: false
-
- project-type: freestyle
- disabled: "{disable-job}"
-
- mvn-opts: ""
- mvn-params: ""
- mvn-version: mvn33
-
- properties:
- - opendaylight-infra-properties:
- build-days-to-keep: 7
-
- parameters:
- - opendaylight-infra-parameters:
- os-cloud: "{os-cloud}"
- project: "{project}"
- branch: "{branch}"
- refspec: "refs/heads/{branch}"
- artifacts: "{archive-artifacts}"
- - lf-infra-maven-parameters:
- mvn-opts: "{mvn-opts}"
- mvn-params: "{mvn-params}"
- mvn-version: "{mvn-version}"
- staging-profile-id: ""
- - string:
- name: CHANGELOG_NAME
- default: "Jenkins"
- description: "Name of person who defined RPM"
- - string:
- name: CHANGELOG_EMAIL
- default: "jenkins-donotreply@opendaylight.org"
- description: "Email of person who defined RPM"
-
- scm:
- - integration-gerrit-scm:
- basedir: "packaging"
- refspec: "$GERRIT_REFSPEC"
- branch: "master"
-
- wrappers:
- - opendaylight-infra-wrappers:
- build-timeout: "{build-timeout}"
-
- builders:
- - lf-infra-pre-build
- - inject:
- properties-content: |
- STREAM={stream}
- DISTRO={distro}
- - shell: !include-raw: build-rpm-snap-docker.sh
- - shell: !include-raw: test-rpm-docker.sh
- - lf-infra-deploy-maven-file:
- global-settings-file: "global-settings"
- settings-file: "packaging-settings"
- mvn-version: "{mvn-version}"
- repo-id: "opendaylight-{stream}-{distro}-x86_64-devel"
- group-id: "{group-id}"
- upload-files-dir: "{upload-files-dir}"
- maven-repo-url: "{maven-repo-url}"
-
- triggers:
- - timed: "@daily"
-
- publishers:
- - lf-infra-publish
-
-- job-template:
- name: "packaging-verify-rpm-master"
-
- node: centos7-builder-2c-2g
- disable-job: false
-
- project-type: freestyle
- disabled: "{disable-job}"
-
- parameters:
- - opendaylight-infra-parameters:
- os-cloud: "{os-cloud}"
- project: "{project}"
- branch: "{branch}"
- refspec: "refs/heads/{branch}"
- artifacts: "{archive-artifacts}"
-
- scm:
- - integration-gerrit-scm:
- basedir: "packaging"
- refspec: "$GERRIT_REFSPEC"
- branch: "master"
-
- wrappers:
- - opendaylight-infra-wrappers:
- build-timeout: "{build-timeout}"
-
- builders:
- # Test Sodium ('Managed Release Common Distro') release tarball
- - inject:
- # yamllint disable-line rule:line-length
- properties-content: "DOWNLOAD_URL=https://nexus.opendaylight.org/content/repositories/public/org/opendaylight/integration/opendaylight/0.11.0/opendaylight-0.11.0.tar.gz"
- - shell: !include-raw-escape: build-rpm.sh
- - install-test-uninstall-rpm
-
- # Test latest Sodium snapshot
- - inject:
- properties-content: "STREAM=sodium"
- - shell: !include-raw: build-rpm-snap.sh
- - install-test-uninstall-rpm
-
- triggers:
- - timed: "@weekly"
- - gerrit-trigger-patch-submitted:
- gerrit-server-name: "{gerrit-server-name}"
- project: "{project}"
- branch: "{branch}"
- files: "packages/**"
- forbidden-files: ""
-
- publishers:
- - lf-infra-publish
-
-- job-template:
- name: "packaging-verify-full-rpm-master"
-
- node: centos7-builder-2c-2g
- disable-job: false
-
- project-type: freestyle
- disabled: "{disable-job}"
-
- parameters:
- - opendaylight-infra-parameters:
- os-cloud: "{os-cloud}"
- project: "{project}"
- branch: "{branch}"
- refspec: "refs/heads/{branch}"
- artifacts: "{archive-artifacts}"
-
- scm:
- - integration-gerrit-scm:
- basedir: "packaging"
- refspec: "$GERRIT_REFSPEC"
- branch: "master"
-
- wrappers:
- - opendaylight-infra-wrappers:
- build-timeout: "{build-timeout}"
-
- builders:
- # Test Sodium release tarball
- - inject:
- # yamllint disable-line rule:line-length
- properties-content: "DOWNLOAD_URL=https://nexus.opendaylight.org/content/repositories/opendaylight.release/org/opendaylight/integration/karaf/0.11.0/karaf-0.11.0.tar.gz"
- - shell: !include-raw-escape: build-rpm.sh
- - install-test-uninstall-rpm
-
- - shell: !include-raw: build-rpm-snap.sh
- - install-test-uninstall-rpm
-
- # Test latest Sodium snapshot
- - inject:
- properties-content: "STREAM=sodium"
- - shell: !include-raw: build-rpm-snap.sh
- - install-test-uninstall-rpm
-
- triggers:
- - timed: "@weekly"
- - gerrit:
- server-name: "{gerrit-server-name}"
- trigger-on:
- - comment-added-contains-event:
- comment-contains-value: "verify-rpm-full"
- projects:
- - project-compare-type: ANT
- project-pattern: "{project}"
- branches:
- - branch-compare-type: ANT
- branch-pattern: "**/{branch}"
-
- publishers:
- - lf-infra-publish
-
-- job-template:
- name: "packaging-test-rpm-master"
-
- node: centos7-builder-2c-2g
- disable-job: false
-
- disabled: "{disable-job}"
-
- parameters:
- - opendaylight-infra-parameters:
- os-cloud: "{os-cloud}"
- project: "{project}"
- branch: "{branch}"
- refspec: "refs/heads/{branch}"
- artifacts: "{archive-artifacts}"
- - string:
- name: URL
- # yamllint disable-line rule:line-length
- default: "https://git.opendaylight.org/gerrit/gitweb?p=integration/packaging.git;a=blob_plain;f=packages/rpm/example_repo_configs/opendaylight-9-devel.repo"
- description: "Link to .repo or .rpm file"
-
- scm:
- - integration-gerrit-scm:
- basedir: "packaging"
- refspec: "$GERRIT_REFSPEC"
- branch: "master"
-
- wrappers:
- - opendaylight-infra-wrappers:
- build-timeout: "{build-timeout}"
-
- builders:
- - shell: |
- # Install expect to interact with Karaf shell
- # Install nmap to check status of ODL's SSH port
- sudo yum install -y expect nmap
- - shell: !include-raw-escape: install-rpm.sh
- - shell: !include-raw: start-odl.sh
- - shell: !include-raw-escape: test-ports-nofeature.sh
- - shell: !include-raw: test-karaf-oxygensafe.expect
- # Disable this test until ODLPARENT-139 is fixed
- # - shell: !include-raw-escape: test-rest-ok.sh
- - shell: !include-raw: stop-odl.sh
- - shell: !include-raw: uninstall-rpm.sh
-
- triggers:
- - timed: "@monthly"
-
- publishers:
- # TODO: Remove the archive publisher
- # small data should be stored on logs.opendaylight.org
- # large data should be stored on nexus.opendaylight.org
- - archive:
- artifacts: "**"
- allow-empty: true
- fingerprint: true
- latest-only: true
- - lf-infra-publish
-
-- job-template:
- name: "packaging-test-rpm-upgrade-master"
-
- disable-job: false
-
- node: centos7-builder-2c-2g
- disabled: "{disable-job}"
-
- parameters:
- - opendaylight-infra-parameters:
- os-cloud: "{os-cloud}"
- project: "{project}"
- branch: "{branch}"
- refspec: "refs/heads/{branch}"
- artifacts: "{archive-artifacts}"
-
- scm:
- - integration-gerrit-scm:
- basedir: "packaging"
- refspec: "$GERRIT_REFSPEC"
- branch: "master"
-
- wrappers:
- - opendaylight-infra-wrappers:
- build-timeout: "{build-timeout}"
-
- builders:
- # Tests (current and future):
- # * Install latest release, stop/uninstall, install latest CD
- # * Upgrade from latest release latest CD
- # * TODO: Upgrade from latest release to proposed packaging/** logic
- # * TODO: Upgrade from CD to proposed packaging/** logic
- # * TODO: Upgrade from proposed packaging/** logic (older ODL) to
- # proposed packaging logic (latest ODL)
-
- # Test 1: Install latest release, stop/uninstall, install latest CD
- - inject:
- # yamllint disable-line rule:line-length
- properties-content: "URL=https://raw.githubusercontent.com/opendaylight/integration-packaging/master/packages/rpm/example_repo_configs/opendaylight-90-release.repo"
- - install-start-test-stop-uninstall-rpm
- - inject:
- # yamllint disable-line rule:line-length
- properties-content: "URL=https://raw.githubusercontent.com/opendaylight/integration-packaging/master/packages/rpm/example_repo_configs/opendaylight-9-devel.repo"
- - install-start-test-stop-uninstall-rpm
-
- # Test 2: Install latest release, stop, upgrade to latest CD
- - inject:
- # yamllint disable-line rule:line-length
- properties-content: "URL=https://raw.githubusercontent.com/opendaylight/integration-packaging/master/packages/rpm/example_repo_configs/opendaylight-90-release.repo"
- - install-start-test-stop-rpm
- - inject:
- # yamllint disable-line rule:line-length
- properties-content: "REPO_CFG_FILE_URL=https://raw.githubusercontent.com/opendaylight/integration-packaging/master/packages/rpm/example_repo_configs/opendaylight-9-devel.repo"
- - installrepcfg-upgrade-start-test-stop-rpm
-
- triggers:
- - timed: "@weekly"
- - gerrit-trigger-patch-submitted:
- gerrit-server-name: "{gerrit-server-name}"
- project: "{project}"
- branch: "{branch}"
- files: "packages/**"
- forbidden-files: ""
-
- publishers:
- - lf-infra-publish
-
-- job-template:
- name: "packaging-test-deb-master"
-
- node: ubuntu1604-mininet-ovs-25-1c-4g
- disable-job: false
-
- disabled: "{disable-job}"
-
- parameters:
- - opendaylight-infra-parameters:
- os-cloud: "{os-cloud}"
- project: "{project}"
- branch: "{branch}"
- refspec: "refs/heads/{branch}"
- artifacts: "{archive-artifacts}"
- - string:
- name: PACKAGE
- default: "ppa:odl-team/oxygen"
- description: "Link to .deb package or name of PPA repo"
-
- scm:
- - integration-gerrit-scm:
- basedir: "packaging"
- refspec: "$GERRIT_REFSPEC"
- branch: "master"
-
- wrappers:
- - opendaylight-infra-wrappers:
- build-timeout: "{build-timeout}"
-
- builders:
- - shell: !include-raw-escape: install-deb.sh
- - shell: !include-raw: start-odl.sh
- - shell: !include-raw-escape: test-ports-nofeature.sh
- - shell: |
- # Install expect to interact with Karaf shell
- # Install nmap to check status of ODL's SSH port
- sudo apt-get install -y expect nmap
- - shell: !include-raw: test-karaf-oxygensafe.expect
- # Disable this test until ODLPARENT-139 is fixed
- # - shell: !include-raw-escape: test-rest-ok.sh
- - shell: !include-raw: stop-odl.sh
- - shell: !include-raw-escape: uninstall-deb.sh
-
- triggers:
- - timed: "@monthly"
-
- publishers:
- - lf-infra-publish
-
-- job-template:
- name: "packaging-build-deb-{stream}"
-
- node: ubuntu1604-mininet-ovs-25-1c-4g
- disable-job: false
-
- project-type: freestyle
- disabled: "{disable-job}"
-
- mvn-opts: ""
- mvn-params: ""
- mvn-version: mvn33
-
- properties:
- - opendaylight-infra-properties:
- build-days-to-keep: 7
-
- parameters:
- - opendaylight-infra-parameters:
- os-cloud: "{os-cloud}"
- project: "{project}"
- branch: "{branch}"
- refspec: "refs/heads/{branch}"
- artifacts: "{archive-artifacts}"
- - lf-infra-maven-parameters:
- mvn-opts: "{mvn-opts}"
- mvn-params: "{mvn-params}"
- mvn-version: "{mvn-version}"
- staging-profile-id: ""
- - string:
- name: DOWNLOAD_URL
- # FIXME: Update the default value to an active stream.
- # yamllint disable-line rule:line-length
- default: "https://nexus.opendaylight.org/content/repositories/opendaylight.release/org/opendaylight/integration/distribution-karaf/0.5.3-Boron-SR3/distribution-karaf-0.5.3-Boron-SR3.tar.gz"
- description: "URL to ODL tarball artifact to repackage into .deb"
- - string:
- name: CHANGELOG_NAME
- default: "Jenkins"
- description: "Name of person who defined .deb"
- - string:
- name: CHANGELOG_EMAIL
- default: "jenkins-donotreply@opendaylight.org"
- description: "Email of person who defined .deb"
- - string:
- name: PKG_VERSION_OVERRIDE
- default: ""
- description: "Override autodetected package component of RPM version (maj.min.pat-pkg)"
-
- scm:
- - integration-gerrit-scm:
- basedir: "packaging"
- refspec: "$GERRIT_REFSPEC"
- branch: "master"
-
- wrappers:
- - opendaylight-infra-wrappers:
- build-timeout: "{build-timeout}"
-
- builders:
- - lf-infra-pre-build
- - shell: !include-raw: build-deb.sh
- - install-test-uninstall-deb
- - lf-infra-deploy-maven-file:
- global-settings-file: "global-settings"
- settings-file: "packaging-settings"
- mvn-version: "{mvn-version}"
- repo-id: "opendaylight-{stream}-ubuntu-1604-x86_64-devel"
- group-id: "{group-id}"
- upload-files-dir: "{upload-files-dir}"
- maven-repo-url: "{maven-repo-url}"
-
- triggers:
- - timed: "@monthly"
-
- publishers:
- - lf-infra-publish
-
-- project:
- name: packaging-info
- jobs:
- - gerrit-info-yaml-verify
- project: packaging
- project-name: packaging
- branch: master
- build-node: centos7-builder-2c-1g
-
-- project:
- name: packaging-view
- views:
- - project-view
- project-name: packaging
+++ /dev/null
-#!/bin/bash
-
-# Options:
-# -x: Echo commands
-# -e: Fail on errors
-# -o pipefail: Fail on errors in scripts this calls, give stacktrace
-set -ex -o pipefail
-
-# Install required packages
-virtualenv deb_build
-# shellcheck disable=SC1091
-source deb_build/bin/activate
-PYTHON="deb_build/bin/python"
-$PYTHON -m pip install --upgrade pip
-
-# Wait for any background apt processes to finish
-# There seems to be a backgroud apt process that locks /var/lib/dpkg/lock
-# and causes our apt commands to fail.
-while pgrep apt > /dev/null; do sleep 1; done
-
-# Install Ansible
-sudo apt-add-repository ppa:ansible/ansible
-sudo apt-get update
-sudo apt-get install -y ansible
-
-# Install local version of ansible-opendaylight to path expected by Ansible.
-# Could almost do this by setting ANSIBLE_ROLES_PATH=$WORKSPACE, but Ansible
-# expects the dir containing the role to have the name of role. The JJB project
-# is called "ansible", which causes the cloned repo name to not match the role
-# name "opendaylight". So we need a cp/mv either way and this is simplest.
-sudo cp -R "$WORKSPACE"/packaging-ansible /etc/ansible/roles/opendaylight
+++ /dev/null
-#!/bin/bash
-
-# Options:
-# -x: Echo commands
-# -e: Fail on errors
-# -o pipefail: Fail on errors in scripts this calls, give stacktrace
-set -ex -o pipefail
-
-# Install required packages
-virtualenv rpm_build
-# shellcheck disable=SC1091
-source rpm_build/bin/activate
-PYTHON="rpm_build/bin/python"
-$PYTHON -m pip install --upgrade pip
-
-# Install Ansible
-sudo yum install -y ansible
-
-# Install local version of ansible-opendaylight to path expected by Ansible.
-# Could almost do this by setting ANSIBLE_ROLES_PATH=$WORKSPACE, but Ansible
-# expects the dir containing the role to have the name of role. The JJB project
-# is called "ansible", which causes the cloned repo name to not match the role
-# name "opendaylight". So we need a cp/mv either way and this is simplest.
-sudo cp -R "$WORKSPACE"/packaging-ansible /etc/ansible/roles/opendaylight
+++ /dev/null
-#!/bin/bash
-
-# Options:
-# -x: Echo commands
-# -e: Fail on errors
-# -o pipefail: Fail on errors in scripts this calls, give stacktrace
-set -ex -o pipefail
-
-# Start OpenDaylight
-sudo systemctl start opendaylight
-
-# Check systemd status of OpenDaylight, will fail if rc is nonzero
-sudo systemctl status opendaylight
-
-# Wait up to 60 seconds for ODL's Java process to start
-for i in $(seq 20); do
- # shellcheck disable=SC2015
- pgrep java && break || sleep 3
- echo "Waited $((i * 3)) seconds for ODL Java process to start"
-done
-
-# Verify Java process is running, will fail if rc is nonzero
-pgrep java
+++ /dev/null
-#!/bin/bash
-
-# Options:
-# -x: Echo commands
-# -e: Fail on errors
-# -o pipefail: Fail on errors in scripts this calls, give stacktrace
-set -ex -o pipefail
-
-# Stop OpenDaylight
-sudo systemctl stop opendaylight
-
-# Check systemd status of OpenDaylight
-# NB: Exit code 3 means service isn't running, including after clean exit
-set +e
-sudo systemctl status opendaylight
-if [ $? -ne 3 ]; then
- echo "OpenDaylight systemd service unexpectedly not stopped"
- exit 1
-else
- echo "OpenDaylight systemd service stopped, as expected"
-fi
-set -e
-
-# Verify Java process is not running
-# shellcheck disable=SC2009
-if ps aux | grep "[o]pendaylight"; then
- # Fail if exit code 0, ie Java process is running
- echo "OpenDaylight process unexpectedly still running"
- exit 1
-else
- echo "OpenDaylight process not running, as expected"
-fi
+++ /dev/null
-#!/bin/bash
-
-# Uninstall any previous installation
-sudo apt-get remove opendaylight && sudo apt-get purge opendaylight
-
-# Delete the ODL directory to ensure a clean working enviroment
-sudo rm -rf /opt/opendaylight
-
-# Install OpenDaylight via repo using example Ansible playbook
-sudo ansible-playbook -i "localhost," -c local "$WORKSPACE"/packaging-ansible/examples/deb_repo_api.yml --extra-vars "@$WORKSPACE/packaging-ansible/examples/log_vars.json"
-
-# Create Ansible custom module directories
-sudo mkdir -p /usr/share/ansible/plugins/modules
-
-# Copy the custom module to the directory above
-sudo cp "$WORKSPACE"/packaging-ansible/library/odl_usermod.py /usr/share/ansible/plugins/modules/
-
-# Execute the odl-user-test playbook
-sudo ansible-playbook -i "localhost," -c local "$WORKSPACE"/packaging-ansible/tests/test-odl-users.yaml -v
-
-# Test the custom log configurations
-#sudo ansible-playbook -i "localhost," -c local "$WORKSPACE"/packaging-ansible/tests/test-odl-logs.yaml -e test_log_level=DEBUG -e test_log_mechanism=console -v
+++ /dev/null
-#!/bin/bash
-
-# Uninstall any previous installation
-sudo apt-get remove opendaylight && sudo apt-get purge opendaylight
-
-# Delete the ODL directory to ensure a clean working enviroment
-sudo rm -rf /opt/opendaylight
-
-# Install OpenDaylight via repo using example Ansible playbook
-sudo ansible-playbook -i "localhost," -c local "$WORKSPACE"/packaging-ansible/examples/deb_repo_api.yml
-
-# Create Ansible custom module directories
-sudo mkdir -p /usr/share/ansible/plugins/modules
-
-# Copy the custom module to the directory above
-sudo cp "$WORKSPACE"/packaging-ansible/library/odl_usermod.py /usr/share/ansible/plugins/modules/
-
-# Execute the odl-user-test playbook
-sudo ansible-playbook -i "localhost," -c local "$WORKSPACE"/packaging-ansible/tests/test-odl-users.yaml -v
-
-# Test the custom log configurations
-#sudo ansible-playbook -i "localhost," -c local "$WORKSPACE"/packaging-ansible/tests/test-odl-logs.yaml -e test_log_level=INFO -e test_log_mechanism=file -v
+++ /dev/null
-#!/bin/bash
-
-# Create Ansible custom module directories
-sudo mkdir -p /usr/share/ansible/plugins/modules
-
-# Copy the custom module to the directory above
-sudo cp "$WORKSPACE"/packaging-ansible/library/odl_usermod.py /usr/share/ansible/plugins/modules/
-
-# Execute the odl-user-test playbook
-sudo ansible-playbook -i "localhost," -c local "$WORKSPACE"/packaging-ansible/tests/test-odl-users.yaml -v
+++ /dev/null
-#!/bin/bash
-
-# Uninstall any previous installation
-sudo yum remove opendaylight -y
-
-# Delete the ODL directory to ensure a clean working enviroment
-sudo rm -rf /opt/opendaylight
-
-# Install OpenDaylight with custom config via repo using example Ansible playbook
-sudo ansible-playbook -i "localhost," -c local "$WORKSPACE"/packaging-ansible/examples/rpm_10_devel_odl_api.yml --extra-vars "@$WORKSPACE/packaging-ansible/examples/log_vars.json"
-
-# Create Ansible custom module directories
-sudo mkdir -p /usr/share/ansible/plugins/modules
-
-# Copy the custom module to the directory above
-sudo cp "$WORKSPACE"/packaging-ansible/library/odl_usermod.py /usr/share/ansible/plugins/modules/
-
-# Execute the odl-user-test playbook
-sudo ansible-playbook -i "localhost," -c local "$WORKSPACE"/packaging-ansible/tests/test-odl-users.yaml -v
-
-# Test the custom log configurations
-#sudo ansible-playbook -i "localhost," -c local "$WORKSPACE"/packaging-ansible/tests/test-odl-logs.yaml -e test_log_level=DEBUG -e test_log_mechanism=console -v
+++ /dev/null
-#!/bin/bash
-
-# Uninstall any previous installation
-sudo yum remove opendaylight -y
-
-# Delete the ODL directory to ensure a clean working enviroment
-sudo rm -rf /opt/opendaylight
-
-# Install OpenDaylight with custom config via repo using example Ansible playbook
-sudo ansible-playbook -i "localhost," -c local "$WORKSPACE"/packaging-ansible/examples/rpm_10_devel_odl_api.yml
-
-# Create Ansible custom module directories
-sudo mkdir -p /usr/share/ansible/plugins/modules
-
-# Copy the custom module to the directory above
-sudo cp "$WORKSPACE"/packaging-ansible/library/odl_usermod.py /usr/share/ansible/plugins/modules/
-
-# Execute the odl-user-test playbook
-sudo ansible-playbook -i "localhost," -c local "$WORKSPACE"/packaging-ansible/tests/test-odl-users.yaml -v
-
-# Test the custom log configurations
-#sudo ansible-playbook -i "localhost," -c local "$WORKSPACE"/packaging-ansible/tests/test-odl-logs.yaml -e test_log_level=INFO -e test_log_mechanism=file -v
+++ /dev/null
-#!/bin/bash
-
-# Uninstall ODL from previous test
-# This is to ensure these tests run independant
-# from any other tests
-sudo yum remove opendaylight -y
-
-# Remove the ODL directory
-sudo rm -rf /opt/opendaylight
-
-# Execute the upgrade tests
-sudo ansible-playbook -i "localhost," -c local "$WORKSPACE"/packaging-ansible/tests/test-odl-upgrade.yaml -v
+++ /dev/null
-#!/bin/bash
-
-##############################################################################
-## Copyright (c) 2018 Intracom Telecom 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
-###############################################################################
-
-# Options:
-# -x: Echo commands
-# -e: Fail on errors
-# -o pipefail: Fail on errors in scripts this calls, give stacktrace
-set -ex -o pipefail
-
-# Verify exactly 1 deb is in the path we expect
-set -- "$WORKSPACE"/packaging/packages/deb/opendaylight/*.deb
-if [ $# -eq 1 ]; then
- echo "Found one deb in build out dir, as expected"
-else
- echo "Expected 1 deb, found $#"
- echo 1
-fi
-
-# If path is globbed (/path/to/*.deb), expand it
-path=$(sudo find / -wholename "$WORKSPACE"/packaging/packages/deb/opendaylight/*.deb)
-
-# If no deb found, fail clearly
-if [ -z "$path" ]; then
- echo "deb not found"
- exit 1
-fi
-
-
-if [ -f /usr/bin/dpkg ]; then
- declare -a expected_deps=( "init-system-helpers (>= 1.18~)"
- "lsb-base (>= 4.1+Debian11ubuntu7)"
- "adduser"
- "openjdk-8-jre-headless" )
-
-fi
-
-# shellcheck disable=SC2034
-mapfile -t actual_deps < <( dpkg -I "$WORKSPACE"/packaging/packages/deb/opendaylight/*.deb | grep Depends | sed 's/Depends: //g' | sed 's/,/\n/g' )
-# shellcheck disable=SC2154 disable=SC2145
-printf 'Dependency found: %s\n' "${actual_deps[@]}"
-
-# shellcheck disable=SC2154,SC2145,SC2034,SC2207
-diff_deps=($(echo "${expected_deps[@]}" "${actual_deps[@]}" | tr ' ' '\n' | sort | uniq -u))
-
-# shellcheck disable=SC2154 disable=SC2145 disable=SC2068 disable=SC2170 disable=SC1083
-if [ ${#diff_deps[*]} -eq 0 ]; then
- echo "deb requirements are as expected"
-else
- echo "deb requirements don't match the expected requirements"
- # shellcheck disable=SC2154 disable=SC2145
- printf 'Dependency mismatch: %s\n' ${diff_deps[@]}
- exit 1
-fi
+++ /dev/null
-#!/usr/bin/expect
-# This script starts the Karaf shell and sends the password for SSH auth.
-# Further tests in Karaf shell can be done here
-
-# Echo commands
-log_user 1
-
-# Time expect will wait for output
-set timeout 30
-
-# Default password
-set password "karaf"
-# Default prompt
-set prompt "opendaylight-user@root>"
-
-# Wait for Karaf SSH server to come online
-send_user "Waiting on OpenDaylight to start listening for SSH on port 8101\n"
-exec bash -c "while ! nmap -Pn -p8101 localhost | grep -q open; do sleep 0.1; done"
-
-# SSH into Karaf shell
-send_user "SSH into ODL Karaf shell\n"
-spawn ssh -p 8101 -o StrictHostKeyChecking=no karaf@127.0.0.1
-
-# Auth to Karaf shell
-expect "Password authentication"
-expect "Password: "
-send "$password\r"
-
-# Show features to make debugging easier
-# Check for "No features available" error message
-expect "$prompt"
-send "feature:list\r"
-expect {{
- timeout {{
- send_user "\nFeatures seem to be available\n"
- }}
- "No features available" {{
- send_user "\nNo features available, error\n"
- exit 1
- }}
-}}
-
-# Verify that a major feature is present
-expect "$prompt"
-send "feature:list | grep odl-netvirt-openstack\r"
-expect {{
- timeout {{
- send_user "\nTest feature not found\n"
- exit 1
- }}
- "OpenDaylight :: NetVirt :: OpenStack" {{
- send_user "\nTest feature available\n"
- }}
-}}
-
-# Disable this test until ODLPARENT-139 is fixed
-# Install feature
-# expect "$prompt"
-# send "feature:install odl-netvirt-openstack\r"
-# expect {{
-# "Error executing command: Can't install feature" {{
-# send_user "\nFailed to install test feature\n"
-# exit 1
-# }}
-# }}
-
-# Verify installed feature is actually installed
-# expect "$prompt"
-# The -i flag will only show installed features
-# send "feature:list -i | grep odl-netvirt-openstack\r"
-# expect {{
-# timeout {{
-# send_user "\nTest feature not installed\n"
-# exit 1
-# }}
-# "OpenDaylight :: NetVirt :: OpenStack" {{
-# send_user "\nTest feature installed successfully\n"
-# }}
-# }}
-
-send_user "End of Karaf shell tests\n"
+++ /dev/null
-#!/usr/bin/expect
-# This script starts the Karaf shell and sends the password for SSH auth.
-# Further tests in Karaf shell can be done here
-
-# Echo commands
-log_user 1
-
-# Time expect will wait for output
-set timeout 30
-
-# Default password
-set password "karaf"
-# Default prompt
-set prompt "opendaylight-user@root>"
-
-# Wait for Karaf SSH server to come online
-send_user "Waiting on OpenDaylight to start listening for SSH on port 8101\n"
-exec bash -c "while ! nmap -Pn -p8101 localhost | grep -q open; do sleep 0.1; done"
-
-# SSH into Karaf shell
-spawn ssh -p 8101 -o StrictHostKeyChecking=no karaf@127.0.0.1
-
-# Auth to Karaf shell
-expect "Password authentication"
-expect "Password: "
-send "$password\r"
-
-# Show features to make debugging easier
-expect "$prompt"
-send "feature:list\r"
-
-# Verify that a major feature is present
-expect "$prompt"
-send "feature:list | grep odl-netvirt-openstack\r"
-expect {{
- timeout {{
- send_user "\nTest feature not found\n"
- exit 1
- }}
- "OpenDaylight :: NetVirt :: OpenStack" {{
- send_user "\nTest feature available\n"
- }}
-}}
-
-# Install feature
-expect "$prompt"
-send "feature:install odl-netvirt-openstack\r"
-expect {{
- "Error executing command: Can't install feature" {{
- send_user "\nFailed to install test feature\n"
- exit 1
- }}
-}}
-
-# Verify installed feature is actually installed
-expect "$prompt"
-# The -i flag will show only installed features
-send "feature:list -i | grep odl-netvirt-openstack\r"
-expect {{
- timeout {{
- send_user "\nTest feature not installed\n"
- exit 1
- }}
- "OpenDaylight :: NetVirt :: OpenStack" {{
- send_user "\nTest feature installed successfully\n"
- }}
-}}
+++ /dev/null
-#!/bin/bash
-
-# Execute the test ODL logs playbook
-sudo ansible-playbook -i "localhost," -c local "$WORKSPACE"/packaging-ansible/tests/test-odl-logs.yaml -v
+++ /dev/null
-#!/bin/bash
-
-# Options:
-# -x: Echo commands
-# -e: Fail on errors
-# -o pipefail: Fail on errors in scripts this calls, give stacktrace
-set -ex -o pipefail
-
-# Ports that should be open after ODL is started with default features
-# Port 1099: Karaf rmiRegistryPort
-# Port 8101: Karaf SSH Shell port
-# Port 44444: Karaf rmiServerPort
-declare -a expected_ports=("1099" "8101" "44444")
-
-# Ports that should only be open after odl-nevirt-openstack is installed
-declare -a unexpected_ports=("2550" "6633" "6640" "6644" "6653" "8181" "8185")
-
-# Make sure expected ports open
-COUNT="0"
-while true; do
- open_ports=()
- closed_ports=()
- for port in "${expected_ports[@]}"
- do
- if nmap -Pn -p"$port" localhost | grep -q open; then
- echo "Port $port is open"
- open_ports+=("$port")
- else
- echo "Port $port is not yet open"
- closed_ports+=("$port")
- fi
- done
- if [[ ${#open_ports[@]} -eq ${#expected_ports[@]} && ${#closed_ports[@]} -eq 0 ]]; then
- echo "All expected ports are open"
- echo "Open ports:"
- printf '%s\n' "${open_ports[@]}"
- echo "Closed ports:"
- printf '%s\n' "${closed_ports[@]}"
- break
- elif [ $COUNT -gt 300 ]; then
- echo "Timeout waiting ports to open"
- echo "Open ports:"
- printf '%s\n' "${open_ports[@]}"
- echo "Closed ports:"
- printf '%s\n' "${closed_ports[@]}"
- exit 1
- else
- ((COUNT+=5))
- sleep 5
- fi
-done
-
-# Make sure unexpected ports are not open
-open_ports=()
-closed_ports=()
-for port in "${unexpected_ports[@]}"
-do
- if nmap -Pn -p"$port" localhost | grep -q open; then
- echo "Port $port is open"
- open_ports+=("$port")
- else
- echo "Port $port is not open"
- closed_ports+=("$port")
- fi
-done
-if [[ ${#closed_ports[@]} -eq ${#unexpected_ports[@]} && ${#open_ports[@]} -eq 0 ]]; then
- echo "No unexpected ports are open"
- echo "Open ports:"
- printf '%s\n' "${open_ports[@]}"
- echo "Closed ports:"
- printf '%s\n' "${closed_ports[@]}"
-fi
+++ /dev/null
-#!/bin/bash
-
-# Options:
-# -x: Echo commands
-# -e: Fail on errors
-# -o pipefail: Fail on errors in scripts this calls, give stacktrace
-set -ex -o pipefail
-
-# Adapted from puppet-opendaylight/Vagrantfile
-# https://git.opendaylight.org/gerrit/gitweb?p=integration/packaging/puppet-opendaylight.git;a=blob;f=Vagrantfile
-
-# Install system-wide dependencies
-# TODO: Are all of these still needed?
-sudo yum install -y ruby-devel gcc-c++ zlib-devel patch redhat-rpm-config make rubygems
-
-# Install RVM to help build recent version of Ruby
-# The ruby_dep gem requires >=2.2.5, 2.0.0 is the latest pre-packaged for CentOS
-gpg2 --keyserver hkp://pool.sks-keyservers.net --recv-keys \
- 409B6B1796C275462A1703113804BB82D39DC0E3 \
- 7D2BAF1CF37B13E2069D6956105BD0E739499BDB
-curl -L get.rvm.io | bash -s stable
-# Expected by RVM, seems required to make RVM functions (`rvm use`) available
-# Silence absurdly verbose rvm output by temporally not echoing commands
-set +x
-# Source line has a non-zero exit somewhere, that RVM doesn't mean to indicate
-# a real failure, but causes our jobs to fail when fail-on-errors is enabled.
-set +e
-# shellcheck disable=SC1090
-source "$HOME/.rvm/scripts/rvm"
-set -e
-rvm install 2.6.0
-set -x
-ruby --version
-# This has to be done as a login shell to get rvm fns
-# https://rvm.io/support/faq#what-shell-login-means-bash-l
-# http://superuser.com/questions/306530/run-remote-ssh-command-with-full-login-shell
-bash -lc "rvm use 2.6.0 --default"
-ruby --version
-
-# Update RubyGems using itself, as OS package may be old
-# Ran into RubyGems 2.x installed by OS, 3.x required by Bundler in INTPAK-230
-gem update --system
-
-# Install gems dependencies of puppet-opendaylight via Bundler
-gem install bundler
-echo export PATH="\\$PATH:/usr/local/bin" >> "$HOME/.bashrc"
-# RVM's loaded functions print lots of output at this step, silence them
-set +x
-pushd "$WORKSPACE/packaging-puppet"
-set -x
-bundle install
-bundle update
-
-# Execute set of tests passed as param from job
-bundle exec rake "$TEST_SUITE"
+++ /dev/null
-#!/bin/bash
-
-# Options:
-# -x: Echo commands
-# -e: Fail on errors
-# -o pipefail: Fail on errors in scripts this calls, give stacktrace
-set -ex -o pipefail
-
-echo "Waiting for ODL REST API to come up..."
-COUNT="0"
-while true; do
- # Will fail if 8181 isn't open, check for that first
- RESP=$( curl --user admin:admin --silent --head --output /dev/null --write-out '%{http_code}' http://localhost:8181/restconf/modules )
- echo "Curl of ODL REST API HTTP response code: $RESP"
- if [[ $RESP = *200* ]]; then
- echo "ODL REST API returned 200"
- break
- elif [ $COUNT -gt 120 ]; then
- echo "Timeout waiting for HTTP 200 from REST API"
- exit 1
- else
- ((COUNT+=1))
- sleep 1
- fi
-done
+++ /dev/null
-#!/bin/bash
-
-# Options:
-# -x: Echo commands
-# -e: Fail on errors
-# -o pipefail: Fail on errors in scripts this calls, give stacktrace
-set -ex -o pipefail
-
-# Verify exactly 1 RPM is in the path we expect
-set -- "$HOME"/rpmbuild/RPMS/noarch/*.rpm
-if [ $# -eq 1 ]; then
- echo "Found one RPM in build out dir, as expected"
-else
- echo "Expected 1 RPM, found $#"
- echo 1
-fi
-
-# If path is globbed (/path/to/*.rpm), expand it
-path=$(sudo find / -wholename "$HOME"/rpmbuild/RPMS/noarch/*.rpm)
-
-# If no RPM found, fail clearly
-if [ -z "$path" ]; then
- echo "RPM not found"
- exit 1
-fi
-
-
-if [ -f /usr/bin/yum ]; then
- # Requirements for package where SRPM was built into noarch on CentOS CBS
- # rpm -qp opendaylight-8.0.0-0.1.20171125rel2049.el7.noarch.rpm --requires
- # shellcheck disable=SC2034
- declare -a expected_deps=( "/bin/bash"
- "/bin/sh"
- "java >= 1:1.8.0"
- "rpmlib(CompressedFileNames) <= 3.0.4-1"
- "rpmlib(FileDigests) <= 4.6.0-1"
- "rpmlib(PartialHardlinkSets) <= 4.0.4-1"
- "rpmlib(PayloadFilesHavePrefix) <= 4.0-1"
- "shadow-utils"
- "rpmlib(PayloadIsXz) <= 5.2-1" )
-
-elif [ -f /usr/bin/zypper ]; then
- declare -a expected_deps=( "/bin/bash"
- "/bin/sh"
- "java >= 1.8.0"
- "rpmlib(CompressedFileNames) <= 3.0.4-1"
- "rpmlib(PayloadFilesHavePrefix) <= 4.0-1"
- "shadow"
- "rpmlib(PayloadIsLzma) <= 4.4.6-1" )
-
-fi
-
-# Karaf 4 distros also have a /usr/bin/env requirement INTPAK-120
-if [[ ! $path == *opendaylight-6* ]]; then
- expected_deps+=( "/usr/bin/env" )
-fi
-
-# shellcheck disable=SC2034
-mapfile -t actual_deps < <( rpm -qp "$HOME"/rpmbuild/RPMS/noarch/*.rpm --requires )
-# shellcheck disable=SC2154 disable=SC2145
-printf 'Dependency found: %s\n' "${actual_deps[@]}"
-
-# shellcheck disable=SC2154,SC2145,SC2034,SC2207
-diff_deps=($(echo "${expected_deps[@]}" "${actual_deps[@]}" | tr ' ' '\n' | sort | uniq -u))
-
-# shellcheck disable=SC2154 disable=SC2145 disable=SC2068 disable=SC2170 disable=SC1083
-if [ ${#diff_deps[*]} -eq 0 ]; then
- echo "RPM requirements are as expected"
-else
- echo "RPM requirements don't match the expected requirements"
- # shellcheck disable=SC2154 disable=SC2145
- printf 'Dependency mismatch: %s\n' ${diff_deps[@]}
- exit 1
-fi
+++ /dev/null
-#!/bin/bash
-
-# Options:
-# -x: Echo commands
-# -e: Fail on errors
-# -o pipefail: Fail on errors in scripts this calls, give stacktrace
-set -ex -o pipefail
-
-scripts_path=/builder/jjb/packaging
-
-# A docker container must have been created by the build script
-if [ "$DISTRO" == "epel-7" ]; then
- docker_id=$(sudo docker ps -qf name=build_rpm_epel)
- sudo docker exec "$docker_id" /usr/bin/yum -y install curl expect nmap openssh
-elif [ "$DISTRO" == "opensuse-42" ]; then
- docker_id=$(sudo docker ps -qf name=build_rpm_suse)
- sudo docker exec "$docker_id" /usr/bin/zypper -n install curl expect nmap openssh
-fi
-
-sudo docker exec "$docker_id" /bin/bash $scripts_path/test-rpm-deps.sh
-
-sudo docker exec "$docker_id" /bin/bash $scripts_path/install-rpm.sh
-
-sudo docker exec "$docker_id" /bin/bash $scripts_path/start-odl.sh
-
-sudo docker exec "$docker_id" /bin/bash $scripts_path/test-ports-nofeature.sh
-
-# Don't install test feature and check REST for Oxygen, ODLPARENT-139 breaks it
-if [ "$STREAM" == "sodium" ]; then
- sudo docker exec "$docker_id" /usr/bin/expect $scripts_path/test-karaf-oxygensafe.expect
-else
- sudo docker exec "$docker_id" /usr/bin/expect $scripts_path/test-karaf.expect
- sudo docker exec "$docker_id" /bin/bash $scripts_path/test-rest-ok.sh
-fi
-
-sudo docker exec "$docker_id" /bin/bash $scripts_path/stop-odl.sh
-
-sudo docker exec "$docker_id" /bin/bash $scripts_path/uninstall-rpm.sh
-
-if [ "$SILO" == "sandbox" ]; then
- echo "Not uploading RPMs to Nexus because running in sandbox"
-elif [ "$SILO" == "releng" ]; then
- RPM_NAME=$(sudo docker exec "$docker_id" find /root/rpmbuild/RPMS/noarch/ -wholename '*.rpm')
- SRPM_NAME=$(sudo docker exec "$docker_id" find /root/rpmbuild/SRPMS/ -wholename '*.rpm')
- UPLOAD_FILES_PATH="$WORKSPACE/upload_files"
- mkdir -p "$UPLOAD_FILES_PATH"
- sudo docker cp "$docker_id:$RPM_NAME" "$_"
- sudo docker cp "$docker_id:$SRPM_NAME" "$_"
-else
- echo "Unknown Jenkins silo: $SILO"
- exit 1
-fi
+++ /dev/null
-#!/bin/bash
-
-# Options:
-# -x: Echo commands
-# -e: Fail on errors
-# -o pipefail: Fail on errors in scripts this calls, give stacktrace
-set -ex -o pipefail
-
-# Show ODL version before upgrade
-sudo yum info opendaylight
-
-# Install RPM upgrade from .rpm link or .repo URL
-if [[ $UPGRADE_URL == *.rpm ]]
-then
- sudo yum upgrade -y "$UPGRADE_URL"
-elif [[ $UPGRADE_URL == *.repo ]]
-then
- # shellcheck disable=SC2154
- repo_file="${{UPGRADE_URL##*/}}"
- sudo curl --silent -o /etc/yum.repos.d/"$repo_file" "$UPGRADE_URL"
- sudo yum upgrade -y opendaylight
-else
- echo "URL is not a link to .rpm or .repo"
- exit 1
-fi
-
-# Show ODL version after upgrade
-sudo yum info opendaylight
+++ /dev/null
-#!/bin/bash
-
-# Options:
-# -x: Echo commands
-# -e: Fail on errors
-# -o pipefail: Fail on errors in scripts this calls, give stacktrace
-set -ex -o pipefail
-
-# Uninstall ODL
-sudo dpkg --purge opendaylight
-
-# Verify ODL not installed
-if dpkg -s opendaylight; then
- # Fail if exit code 0, ie ODL is still installed
- echo "OpenDaylight unexpectedly still installed"
- exit 1
-else
- echo "OpenDaylight not installed, as expected"
-fi
+++ /dev/null
-#!/bin/bash
-
-# Options:
-# -x: Echo commands
-# -e: Fail on errors
-# -o pipefail: Fail on errors in scripts this calls, give stacktrace
-set -ex -o pipefail
-
-if [ -f /usr/bin/yum ]; then
- # Uninstall ODL
- sudo yum remove -y opendaylight
-
- # Verify ODL not installed
- if yum list installed opendaylight; then
- # Fail if exit code 0, ie ODL is still installed
- echo "OpenDaylight unexpectedly still installed"
- exit 1
- else
- echo "OpenDaylight not installed, as expected"
- fi
-elif [ -f /usr/bin/zypper ]; then
- # Uninstall ODL
- sudo zypper -n remove opendaylight
-
- # Verify ODL not installed
- if zypper search --installed-only opendaylight; then
- # Fail if exit code 0, ie ODL is still installed
- echo "OpenDaylight unexpectedly still installed"
- exit 1
- else
- echo "OpenDaylight not installed, as expected"
- fi
-else
- echo "The package manager is not supported (not yum or zypper)"
- exit 1
-fi
gerrit-host: "git.opendaylight.org"
gerrit-topic: "releng-update-cloud-image-list"
gerrit-commit-message: "Update cloud image list docs"
- reviewers-email: "jluhrsen@gmail.com"
+ reviewers-email: "integration-dev@lists.opendaylight.org"
publishers:
- email-notification:
# Used by the release job
staging-profile-id: 1271cf710cc09d
+- project:
+ name: yangtools-6.0.x
+ jobs:
+ - odl-maven-jobs-jdk11
+ - odl-maven-verify-jobs
+
+ project: yangtools
+ project-name: yangtools
+ branch: 6.0.x
+ stream: 6.0.x
+
+ java-version: "openjdk11"
+ mvn-settings: "yangtools-settings"
+ mvn-version: mvn36
+
+ dependencies: ""
+ email-upstream: "[yangtools]"
+ archive-artifacts: >
+ **/*.prop
+ **/*.log
+ **/target/surefire-reports/*-output.txt
+ **/target/failsafe-reports/failsafe-summary.xml
+ **/hs_err_*.log
+ **/target/feature/feature.xml
+
+ # Used by the release job
+ staging-profile-id: 1271cf710cc09d
+
- project:
name: yangtools-5.0.x
jobs: