* CentOS 7 - devstack - 20170221-1719
* CentOS 7 - devstack - 20170606-0344
* CentOS 7 - devstack - 20170609-0220
+* CentOS 7 - devstack - 20170808-0528
* CentOS 7 - devstack - newton - 20170117-0005
* CentOS 7 - devstack-mitaka - 20170130-0523
* CentOS 7 - devstack-mitaka - 20170314-2255
* CentOS 7 - devstack-newton - 20170314-2256
* CentOS 7 - devstack-newton - 20170606-0427
* CentOS 7 - devstack-newton - 20170707-0359
+* CentOS 7 - devstack-newton - 20170808-0528
* CentOS 7 - devstack-ocata - 20170606-0821
* CentOS 7 - devstack-ocata - 20170609-0221
+* CentOS 7 - devstack-ocata - 20170808-0528
* CentOS 7 - docker - 20170117-0003
* CentOS 7 - docker - 20170120-1434
* CentOS 7 - docker - 20170607-0203
* CentOS 7 - docker - 20170609-0220
+* CentOS 7 - docker - 20170808-0528
* CentOS 7 - java-builder - 20170117-0004
* CentOS 7 - java-builder - 20170126-0058
* CentOS 7 - java-builder - 20170309-2355
* CentOS 7 - java-builder - 20170607-1706
* CentOS 7 - java-builder - 20170609-0259
* CentOS 7 - java-builder - 20170707-0359
+* CentOS 7 - java-builder - 20170807-1102
+* CentOS 7 - java-builder - 20170807-2145
* CentOS 7 - robot - 20170117-0004
* CentOS 7 - robot - 20170210-1803
* CentOS 7 - robot - 20170328-0206
* CentOS 7 - robot - 20170526-2050
* CentOS 7 - robot - 20170606-0345
* CentOS 7 - robot - 20170609-0220
+* CentOS 7 - robot - 20170808-0529
* Fedora 23 (20151030 cloud)
* Ubuntu 14.04 - devstack - 20170117-0004
* Ubuntu 14.04 - docker - 20170117-0003
* Ubuntu 14.04 - gbp - 20170117-0042
* Ubuntu 14.04 - gbp - 20170210-0536
* Ubuntu 14.04 - gbp - 20170706-1254
+* Ubuntu 14.04 - gbp - 20170808-0524
* Ubuntu 14.04 - mininet - 20170117-0003
* Ubuntu 14.04 - mininet - 20170130-0425
* Ubuntu 14.04 - mininet - 20170207-2055
* Ubuntu 14.04 - mininet - 20170606-0534
* Ubuntu 14.04 - mininet - 20170609-0220
* Ubuntu 14.04 - mininet - 20170611-0950
+* Ubuntu 14.04 - mininet - 20170808-0158
* Ubuntu 14.04 - mininet-ovs-2.3 - 20170117-0004
* Ubuntu 14.04 - mininet-ovs-2.5 - 20170117-0004
* Ubuntu 14.04 - mininet-ovs-23 - 20170130-0415
* Ubuntu 16.04 - mininet-ovs-25 - 20170606-0534
* Ubuntu 16.04 - mininet-ovs-25 - 20170609-0221
* Ubuntu 16.04 - mininet-ovs-25 - 20170703-2150
+* Ubuntu 16.04 - mininet-ovs-25 - 20170808-0158
* Ubuntu 16.04 LTS (2016-05-03 cloudimg)
their XML descriptions and upload them to the sandbox Jenkins server.
We document `installing <Installing Jenkins Job Builder_>`_ `jenkins-jobs`
-below. We also provide
-a `pre-built Docker image <jjb-docker_>`_ with `jenkins-jobs` already installed.
+below.
Installing Jenkins Job Builder
------------------------------
-For users who aren't already experienced with Docker or otherwise don't want
-to use our `pre-built JJB Docker image <jjb-docker_>`_, installing JJB into a
-virtual environment is an equally good option.
-
We recommend using `pip <Installing JJB using pip_>`_ to assist with JJB
installs, but we
also document `installing from a git repository manually
(jjb)$ jenkins-jobs --version
-JJB Docker Image
-----------------
-
-`Docker <docker-docs_>`_ is an open platform used to create virtualized Linux containers
-for shipping self-contained applications. Docker leverages LinuX Containers
-\(LXC\) running on the same operating system as the host machine, whereas a
-traditional VM runs an operating system over the host.
-
-.. code-block:: bash
-
- docker pull zxiiro/jjb-docker
- docker run --rm -v ${PWD}:/jjb jjb-docker
-
-This `Dockerfile <jjb-dockerfile_>`_ created the
-`zxiiro/jjb-docker image <jjb-docker_>`_.
-By default it will run:
-
-.. code-block:: bash
-
- jenkins-jobs test .
-
-You'll need to use the `-v/--volume=[]` parameter to mount a directory
-containing your YAML files, as well as a configured `jenkins.ini` file if you
-wish to upload your jobs to the `Jenkins Sandbox`_.
Jenkins Job Templates
---------------------
Make changes to your JJB configuration, re-test, re-push and re-run until
your job is ready.
-Docker Method
-^^^^^^^^^^^^^
-
-If `using Docker <JJB Docker image_>`_:
-
-.. code-block:: bash
-
- # To test
- docker run --rm -v ${PWD}:/jjb zxiiro/jjb-docker
-
-.. important::
-
- When pushing with `jenkins-jobs`, a log message with
- the number of jobs you're pushing will be issued, typically to stdout.
- **If the number is greater than 1** (or the number of jobs you passed to
- the command to push) then you are pushing too many jobs and should **`ctrl+c`
- to cancel the upload**. Else you will flood the system with jobs.
-
- .. code-block:: bash
-
- INFO:jenkins_jobs.builder:Number of jobs generated: 1
-
- **Failing to provide the final `<job-name>` param will push all jobs!**
-
- .. code-block:: bash
-
- # To upload jobs to the sandbox
- # Please ensure that you include a configured jenkins.ini in your volume mount
- # Making sure not to push more jobs than expected, ctrl+c to abort
- docker run --rm -v ${PWD}:/jjb zxiiro/jjb-docker jenkins-jobs --conf jenkins.ini update . openflowplugin-csit-periodic-1node-cds-longevity-only-master
-.. _docker-docs: https://www.docker.com/whatisdocker/
.. _example-jenkins.ini: https://git.opendaylight.org/gerrit/gitweb?p=releng/builder.git;a=blob;f=jenkins.ini.example
.. _integration-test-wiki: https://wiki.opendaylight.org/view/Integration/Test
.. _jenkins-master: https://jenkins.opendaylight.org/releng
.. _jenkins-sandbox-login: https://jenkins.opendaylight.org/sandbox/login
.. _jenkins.ini: http://docs.openstack.org/infra/jenkins-job-builder/execution.html#configuration-file
.. _jjb-autoupdate-project.py: https://git.opendaylight.org/gerrit/gitweb?p=releng/builder.git;a=blob;f=scripts/jjb-autoupdate-project.py
-.. _jjb-docker: https://hub.docker.com/r/zxiiro/jjb-docker/
-.. _jjb-dockerfile: https://github.com/zxiiro/jjb-docker/blob/master/Dockerfile
.. _jjb-docs: http://ci.openstack.org/jenkins-job-builder/
.. _jjb-init-project.py: https://git.opendaylight.org/gerrit/gitweb?p=releng/builder.git;a=blob;f=scripts/jjb-init-project.py
.. _jjb-repo: https://github.com/openstack-infra/jenkins-job-builder
robot-options: ''
# mininet image
- tools_system_image: Ubuntu 14.04 - mininet-ovs-25 - 20170210-0300
+ tools_system_image: Ubuntu 16.04 - mininet-ovs-25 - 20170808-0158
- builder:
name: autorelease-maven-deploy
builders:
- - shell: !include-raw: include-raw-autorelease-maven-deploy.sh
+ - shell: !include-raw: autorelease-maven-deploy.sh
- builder:
name: autorelease-maven-sources
name: autorelease-get-integration-test-variables
builders:
- integration-set-variables
- - shell: !include-raw: include-raw-autorelease-get-integration-test-variables.sh
+ - shell: !include-raw: autorelease-get-integration-test-variables.sh
- inject:
properties-file: variables.prop
extra-mvn-opts: -Dskip.karaf4.featureTest=true
- boron:
# Only run once a week since Boron is in maintenance mode
- cron: 'H H * * 0'
+ cron: 'H 12 * * 0'
next-release-tag: Boron-SR5
branch: 'stable/boron'
jdk: 'openjdk8'
name: ARCHIVE_ARTIFACTS
default: '{archive-artifacts}'
description: Artifacts to archive to the logs server.
+ - bool:
+ name: TRIGGER_DOWNSTREAM_JOBS
+ default: true
+ description: |
+ Used by the post-build-script step to determine if downstream
+ jobs should be triggered for this run or not.
scm:
- git:
publishers:
- opendaylight-infra-notify-status
- - trigger-parameterized-builds:
- - project: 'integration-distribution-test-{integration-test}'
- condition: UNSTABLE_OR_BETTER
- property-file: variables.jenkins-trigger
- fail-on-missing: true
- - project: 'integration-distribution-test-{integration-test}'
- condition: FAILED
- trigger-with-no-params: true
- - project: 'integration-sanity-test-{integration-test}'
- condition: UNSTABLE_OR_BETTER
- property-file: variables.jenkins-trigger
- fail-on-missing: true
- - project: 'integration-sanity-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
+ - postbuildscript:
+ builders:
+ - conditional-step:
+ condition-kind: boolean-expression
+ condition-expression: $TRIGGER_DOWNSTREAM_JOBS
+ steps:
+ - trigger-builds:
+ - project: 'integration-distribution-test-{integration-test}'
+ condition: UNSTABLE_OR_BETTER
+ property-file: variables.jenkins-trigger
+ fail-on-missing: true
+ - project: 'integration-distribution-test-{integration-test}'
+ condition: FAILED
+ trigger-with-no-params: true
+ - project: 'integration-sanity-test-{integration-test}'
+ condition: UNSTABLE_OR_BETTER
+ property-file: variables.jenkins-trigger
+ fail-on-missing: true
+ - project: 'integration-sanity-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
+ script-only-if-succeeded: false
+ script-only-if-failed: false
- lf-infra-publish
- job-template:
project: lispflowmapping
- mdsal:
project: mdsal
+ - nemo:
+ project: nemo
- netconf:
project: netconf
- netvirt:
project: netvirt
- neutron:
project: neutron
+ - nic:
+ project: nic
- ocpplugin:
project: ocpplugin
- of-config:
project: ttp
- unimgr:
project: unimgr
+ - usc:
+ project: usc
- vtn:
project: vtn
- yangtools:
# Mininet configuration
tools_system_count: 2
- tools_system_image: Ubuntu 16.04 - mininet-ovs-25 - 20170703-2150
+ tools_system_image: Ubuntu 16.04 - mininet-ovs-25 - 20170808-0158
# Features to install
install-features: 'odl-genius-rest'
- opendaylight-infra-stack:
stack-template: 'csit-3-instance-type.yaml'
+# Macro: integration-infra-stack-4-type
+# Operation: Sets environment and then calls opendaylight-infra-stack to spin
+# up csit lab using openstack-heat.
+# Used by: {project}-csit-* job templates
+
+- builder:
+ name: integration-infra-stack-4-type
+ builders:
+ - integration-cleanup-workspace
+ - shell: |
+ #!/bin/bash
+ # Setup openstack envirnoment file for use by
+ # the opendaylight-infra-stack macro
+ cat > $WORKSPACE/opendaylight-infra-environment.yaml << EOF
+ parameters:
+ vm_0_count: {vm_0_count}
+ vm_0_flavor: {vm_0_flavor}
+ vm_0_image: {vm_0_image}
+ vm_1_count: {vm_1_count}
+ vm_1_flavor: {vm_1_flavor}
+ vm_1_image: {vm_1_image}
+ vm_2_count: {vm_2_count}
+ vm_2_flavor: {vm_2_flavor}
+ vm_2_image: {vm_2_image}
+ vm_3_count: {vm_3_count}
+ vm_3_flavor: {vm_3_flavor}
+ vm_3_image: {vm_3_image}
+ EOF
+ echo "Contents of opendaylight-infra-environment.yaml ..."
+ cat $WORKSPACE/opendaylight-infra-environment.yaml
+ - opendaylight-infra-stack:
+ stack-template: 'csit-4-instance-type.yaml'
+
# Macro: integration-get-slave-addresses
# Operation: this macro gets the IP addresses of the dynamic vms
# Used by: {project}-csit-* job templates
- timed: '{schedule}'
builders:
- - integration-infra-stack-3-type:
+ - integration-infra-stack-4-type:
+ stack-template: '{stack-template}'
vm_0_count: '{odl_system_count}'
vm_0_flavor: '{odl_system_flavor}'
vm_0_image: '{odl_system_image}'
vm_1_count: '{openstack_system_count}'
vm_1_flavor: '{openstack_system_flavor}'
vm_1_image: '{openstack_system_image}'
- vm_2_count: '{tools_system_count}'
- vm_2_flavor: '{tools_system_flavor}'
- vm_2_image: '{tools_system_image}'
+ vm_2_count: '{openstack_system2_count}'
+ vm_2_flavor: '{openstack_system2_flavor}'
+ vm_2_image: '{openstack_system2_image}'
+ vm_3_count: '{tools_system_count}'
+ vm_3_flavor: '{tools_system_flavor}'
+ vm_3_image: '{tools_system_image}'
- integration-install-robotframework
- inject:
properties-file: 'env.properties'
schedule-high-frequency: ''
# tools system image
- tools_system_image: Ubuntu 16.04 - mininet-ovs-25 - 20170703-2150
+ tools_system_image: Ubuntu 16.04 - mininet-ovs-25 - 20170808-0158
# Template: integration-csit-verify-1node-library
# Goal: Verify changes in csit folder not covered by projects suite verify jobs (e.g. libraries or variables)
- all:
scope: 'all'
- tools_system_image: Ubuntu 16.04 - mininet-ovs-25 - 20170703-2150
+ tools_system_image: Ubuntu 16.04 - mininet-ovs-25 - 20170808-0158
# Features to install
install-features: 'odl-lacp-ui'
---
+- project:
+ name: lf-infra-ci-workshop
+ jobs:
+ - gerrit-tox-verify
+
+ project-name: lf-infra-ci-workshop
+ project: releng/ci-workshop
+ build-node: centos7-java-builder-2c-4g
+ stream: master
+
+ git-url: https://gerrit.linuxfoundation.org/infra/$GERRIT_PROJECT
+ gerrit-server-name: LinuxFoundation
+
- project:
name: lf-infra-common-packer
jobs:
OVS_VERSION: '{OVS_VERSION}'
maven-version: '{maven-version}'
stream: '{stream}'
- - shell: !include-raw-escape: include-raw-setup-docker.sh
+ - shell: !include-raw-escape: setup-docker.sh
- inject:
properties-file: env.properties
- run-netvirt-sfc-it:
OVS_VERSION: '{OVS_VERSION}'
maven-version: '{maven-version}'
stream: '{stream}'
- - shell: !include-raw-escape: include-raw-cleanup-docker.sh
+ - shell: !include-raw-escape: cleanup-docker.sh
- job-template:
name: 'netvirt-daily-full-integration-{stream}'
# Job images
odl_system_flavor: '8 GB General Purpose v1'
- tools_system_image: 'Ubuntu 16.04 - mininet-ovs-25 - 20170703-2150'
+ tools_system_image: 'Ubuntu 16.04 - mininet-ovs-25 - 20170808-0158'
# Features to install
install-features: >
# Job images
odl_system_flavor: 8 GB General Purpose v1
- tools_system_image: Ubuntu 16.04 - mininet-ovs-25 - 20170703-2150
+ tools_system_image: Ubuntu 16.04 - mininet-ovs-25 - 20170808-0158
# Features to install
install-features: >
robot-options: '-v ODL_OF_PLUGIN:lithium'
# mininet image
- tools_system_image: 'Ubuntu 16.04 - mininet-ovs-25 - 20170703-2150'
+ tools_system_image: 'Ubuntu 16.04 - mininet-ovs-25 - 20170808-0158'
robot-options: '-v flow_update_time:30s'
# mininet image
- tools_system_image: Ubuntu 16.04 - mininet-ovs-25 - 20170703-2150
+ tools_system_image: Ubuntu 16.04 - mininet-ovs-25 - 20170808-0158
robot-options: ''
# mininet image
- tools_system_image: Ubuntu 16.04 - mininet-ovs-25 - 20170703-2150
+ tools_system_image: Ubuntu 16.04 - mininet-ovs-25 - 20170808-0158
robot-options: ''
# mininet image
- tools_system_image: Ubuntu 16.04 - mininet-ovs-25 - 20170703-2150
+ tools_system_image: Ubuntu 16.04 - mininet-ovs-25 - 20170808-0158
# Plot Info
01-plot-title: 'Maximum Links Full Mesh Topology'
robot-options: '-v TEST_LENGTH:23h'
# mininet image
- tools_system_image: Ubuntu 16.04 - mininet-ovs-25 - 20170703-2150
+ tools_system_image: Ubuntu 16.04 - mininet-ovs-25 - 20170808-0158
# Trigger jobs (on saturday)
schedule: 'H H * * 6'
# Job images
odl_system_flavor: 8 GB General Purpose v1
- tools_system_image: Ubuntu 16.04 - mininet-ovs-25 - 20170703-2150
+ tools_system_image: Ubuntu 16.04 - mininet-ovs-25 - 20170808-0158
# Features to install
install-features: >
# Job images
odl_system_flavor: '8 GB General Purpose v1'
- tools_system_image: 'Ubuntu 16.04 - mininet-ovs-25 - 20170703-2150'
+ tools_system_image: 'Ubuntu 16.04 - mininet-ovs-25 - 20170808-0158'
# Features to install
# yamllint disable-line rule:line-length
robot-options: '-v SWITCHES:3'
# mininet image
- tools_system_image: Ubuntu 16.04 - mininet-ovs-25 - 20170703-2150
+ tools_system_image: Ubuntu 16.04 - mininet-ovs-25 - 20170808-0158
# Job images
odl_system_flavor: '8 GB General Purpose v1'
- tools_system_image: 'Ubuntu 16.04 - mininet-ovs-25 - 20170703-2150'
+ tools_system_image: 'Ubuntu 16.04 - mininet-ovs-25 - 20170808-0158'
# Features to install
install-features: 'odl-openflowplugin-flow-services-rest'
robot-options: ''
# mininet image
- tools_system_image: Ubuntu 16.04 - mininet-ovs-25 - 20170703-2150
+ tools_system_image: Ubuntu 16.04 - mininet-ovs-25 - 20170808-0158
# Plot Info
01-plot-title: 'Maximum Switches Linear Topology'
- copyartifact:
project: opflex-openvswitch_tgz-{stream}
flatten: true
- - shell: !include-raw-escape: include-raw-opflex-build.sh
+ - shell: !include-raw-escape: opflex-build.sh
- job-template:
name: 'opflex-verify-{stream}'
- builder:
name: 'builder-opflex-libuv-v1'
builders:
- - shell: !include-raw-escape: deps-inc-v1/include-raw-libuv_tgz-build.sh
+ - shell: !include-raw-escape: deps-inc-v1/libuv_tgz-build.sh
- job-template:
name: 'opflex-libuv_tgz-{stream}'
- builder:
name: 'builder-opflex-rapidjson-v1'
builders:
- - shell: !include-raw-escape: deps-inc-v1/include-raw-rapidjson_tgz-build.sh
+ - shell: !include-raw-escape: deps-inc-v1/rapidjson_tgz-build.sh
- job-template:
name: 'opflex-rapidjson_tgz-{stream}'
- builder:
name: 'builder-opflex-openvswitch-v1'
builders:
- - shell: !include-raw: deps-inc-v1/include-raw-openvswitch_tgz-build.sh
+ - shell: !include-raw: deps-inc-v1/openvswitch_tgz-build.sh
- builder:
name: 'builder-opflex-openvswitch-v2'
builders:
- - shell: !include-raw: deps-inc-v2/include-raw-openvswitch_tgz-build.sh
+ - shell: !include-raw: deps-inc-v2/openvswitch_tgz-build.sh
- job-template:
name: 'opflex-openvswitch_tgz-{stream}'
builders:
- inject:
properties-content: OVS_VERSION={OVS_VERSION}
- - shell: !include-raw-escape: include-raw-setup-docker.sh
+ - shell: !include-raw-escape: setup-docker.sh
- inject:
properties-file: env.properties
- run-southbound-it:
OVS_VERSION: '{OVS_VERSION}'
maven-version: '{maven-version}'
stream: '{stream}'
- - shell: !include-raw-escape: include-raw-cleanup-docker.sh
+ - shell: !include-raw-escape: cleanup-docker.sh
- job-template:
name: 'ovsdb-daily-full-integration-{stream}'
name: 'ovsdb'
builders:
- - shell: !include-raw-escape: include-raw-setup-docker.sh
+ - shell: !include-raw-escape: setup-docker.sh
- inject:
properties-file: env.properties
- shell: !include-raw-escape: include-setup-hwvtep-docker.sh
settings-type: cfp
global-settings: 'global-settings'
global-settings-type: cfp
- - shell: !include-raw-escape: include-raw-cleanup-docker.sh
+ - shell: !include-raw-escape: cleanup-docker.sh
- jacoco-nojava-workaround
publishers:
# and causes our apt commands to fail.
while pgrep apt > /dev/null; do sleep 1; done
-# Install latest ansible
+# Install Ansible
sudo apt-add-repository ppa:ansible/ansible
sudo apt-get update
sudo apt-get install -y ansible
-git clone https://github.com/dfarrell07/ansible-opendaylight.git
-cd ansible-opendaylight
-sudo ansible-galaxy install -r requirements.yml
-sudo ansible-playbook -i "localhost," -c local examples/deb_repo_install_playbook.yml
+# 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/ansible /etc/ansible/roles/opendaylight
+
+# Install OpenDaylight via repo using example Ansible playbook
+sudo ansible-playbook -i "localhost," -c local $WORKSPACE/ansible/examples/deb_repo_install_playbook.yml
# Add more tests
source rpm_build/bin/activate
PYTHON="rpm_build/bin/python"
$PYTHON -m pip install --upgrade pip
+
+# Install Ansible
sudo yum install -y ansible
-git clone https://github.com/dfarrell07/ansible-opendaylight.git
-cd ansible-opendaylight
-sudo ansible-galaxy install -r requirements.yml
-sudo ansible-playbook -i "localhost," -c local examples/odl_6_testing_playbook.yml
+# 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/ansible /etc/ansible/roles/opendaylight
+
+# Install OpenDaylight via repo using example Ansible playbook
+sudo ansible-playbook -i "localhost," -c local $WORKSPACE/ansible/examples/odl_6_testing_playbook.yml
# Add more tests
set -ex -o pipefail
# Adapted from puppet-opendaylight/Vagrantfile
-# https://github.com/dfarrell07/puppet-opendaylight/blob/master/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?
docker_system_image: CentOS 7 - docker - 20170609-0220
odl_system_count: 1
odl_system_flavor: 4 GB General Purpose v1
- odl_system_image: CentOS 7 - java-builder - 20170707-0359
+ odl_system_image: CentOS 7 - java-builder - 20170807-2145
openstack_system_count: 1
openstack_system_flavor: 8 GB General Purpose v1
openstack_system_image: CentOS 7 - devstack - 20170609-0220
openstack_system2_image: CentOS 7 - devstack - 20170609-0220
tools_system_count: 1
tools_system_flavor: 2 GB General Purpose v1
- tools_system_image: Ubuntu 14.04 - mininet - 20170609-0220
+ tools_system_image: Ubuntu 14.04 - mininet - 20170808-0158
# Default Robot framework options
robot-options: ''
robot-options: ''
# mininet image
- tools_system_image: Ubuntu 16.04 - mininet-ovs-25 - 20170703-2150
+ tools_system_image: Ubuntu 16.04 - mininet-ovs-25 - 20170808-0158
# Robot custom options
robot-options: ''
- tools_system_image: 'Ubuntu 16.04 - mininet-ovs-25 - 20170703-2150'
+ tools_system_image: 'Ubuntu 16.04 - mininet-ovs-25 - 20170808-0158'
branch: 'stable/carbon'
jre: 'openjdk8'
karaf-version: karaf3
- tools_system_image: Ubuntu 16.04 - mininet-ovs-25 - 20170703-2150
+ tools_system_image: Ubuntu 16.04 - mininet-ovs-25 - 20170808-0158
- boron:
branch: 'stable/boron'
jre: 'openjdk8'
karaf-version: karaf3
- tools_system_image: Ubuntu 16.04 - mininet-ovs-25 - 20170703-2150
+ tools_system_image: Ubuntu 16.04 - mininet-ovs-25 - 20170808-0158
install:
- only:
# Robot custom options
robot-options: ''
- tools_system_image: Ubuntu 16.04 - mininet-ovs-25 - 20170703-2150
+ tools_system_image: Ubuntu 16.04 - mininet-ovs-25 - 20170808-0158
--- /dev/null
+---
+heat_template_version: 2016-04-08
+
+parameters:
+ job_name:
+ type: string
+ description: Name of job running this template
+ silo:
+ type: string
+ description: Jenkins Silo job is running in (typically releng|sandbox)
+ vm_0_count:
+ type: number
+ description: Number of VMs for 1st VM type
+ vm_0_flavor:
+ type: string
+ default: 1 GB General Purpose v1
+ description: Flavor to run instance on for 1st VM type
+ vm_0_image:
+ type: string
+ description: Image to run instance on for 1st VM type
+ vm_1_count:
+ type: number
+ description: Number of VMs for 2nd VM type
+ vm_1_flavor:
+ type: string
+ default: 1 GB General Purpose v1
+ description: Flavor to run instance on for 2nd VM type
+ vm_1_image:
+ type: string
+ description: Image to run instance on for 2nd VM type
+ vm_2_count:
+ type: number
+ description: Number of VMs for 3rd VM type
+ vm_2_flavor:
+ type: string
+ default: 1 GB General Purpose v1
+ description: Flavor to run instance on for 3rd VM type
+ vm_2_image:
+ type: string
+ vm_3_count:
+ type: number
+ description: Number of VMs for 3rd VM type
+ vm_3_flavor:
+ type: string
+ default: 1 GB General Purpose v1
+ description: Flavor to run instance on for 3rd VM type
+ vm_3_image:
+ type: string
+
+resources:
+ vm_0_group:
+ type: "OS::Heat::ResourceGroup"
+ properties:
+ count: {get_param: vm_0_count}
+ resource_def:
+ type: generic-server.yaml
+ properties:
+ job_name: {get_param: job_name}
+ silo: {get_param: silo}
+ ssh_key: {get_param: silo}
+ index: "%index%"
+ vm_flavor: {get_param: vm_0_flavor}
+ vm_image: {get_param: vm_0_image}
+
+ vm_1_group:
+ type: "OS::Heat::ResourceGroup"
+ properties:
+ count: {get_param: vm_1_count}
+ resource_def:
+ type: generic-server.yaml
+ properties:
+ job_name: {get_param: job_name}
+ silo: {get_param: silo}
+ ssh_key: {get_param: silo}
+ index: "%index%"
+ vm_flavor: {get_param: vm_1_flavor}
+ vm_image: {get_param: vm_1_image}
+
+ vm_2_group:
+ type: "OS::Heat::ResourceGroup"
+ properties:
+ count: {get_param: vm_2_count}
+ resource_def:
+ type: generic-server.yaml
+ properties:
+ job_name: {get_param: job_name}
+ silo: {get_param: silo}
+ ssh_key: {get_param: silo}
+ index: "%index%"
+ vm_flavor: {get_param: vm_2_flavor}
+ vm_image: {get_param: vm_2_image}
+ vm_3_group:
+ type: "OS::Heat::ResourceGroup"
+ properties:
+ count: {get_param: vm_3_count}
+ resource_def:
+ type: generic-server.yaml
+ properties:
+ job_name: {get_param: job_name}
+ silo: {get_param: silo}
+ ssh_key: {get_param: silo}
+ index: "%index%"
+ vm_flavor: {get_param: vm_3_flavor}
+ vm_image: {get_param: vm_3_image}
+
+outputs:
+ vm_0_ips:
+ description: IP addresses of the 1st vm types
+ value: {get_attr: [vm_0_group, ip]}
+ vm_1_ips:
+ description: IP addresses of the 2nd vm types
+ value: {get_attr: [vm_1_group, ip]}
+ vm_2_ips:
+ description: IP addresses of the 3rd vm types
+ value: {get_attr: [vm_2_group, ip]}
+ vm_3_ips:
+ description: IP addresses of the 4th vm types
+ value: {get_attr: [vm_3_group, ip]}
cabal install "Cabal<1.18" # Pull Cabal version that is capable of building shellcheck
cabal install --bindir=/usr/local/bin "shellcheck-0.4.6" # Pin shellcheck version
- # openldap dev headers are required for lftools
- yum install -y openldap-devel
-
# NLTK_DATA Cache: many jobs that use coala pull down nltk_data
wget -nv -O /opt/nltk_data.zip https://github.com/nltk/nltk_data/archive/gh-pages.zip
cabal update
cabal install --bindir=/usr/local/bin "shellcheck-0.4.6" # Pin shellcheck version
- # openldap dev headers are required for lftools
- ensure_ubuntu_install libldap2-dev libssl-dev libsasl2-dev
-
# NLTK_DATA Cache: many jobs that use coala pull down nltk_data
wget -nv -O /opt/nltk_data.zip https://github.com/nltk/nltk_data/archive/gh-pages.zip