Merge "Addition of Suite Variable"
authorJamo Luhrsen <jluhrsen@redhat.com>
Fri, 12 Jan 2018 18:58:00 +0000 (18:58 +0000)
committerGerrit Code Review <gerrit@opendaylight.org>
Fri, 12 Jan 2018 18:58:00 +0000 (18:58 +0000)
31 files changed:
docs/cloud-images.rst
jjb/autorelease/autorelease-projects.yaml
jjb/autorelease/autorelease-templates.yaml
jjb/autorelease/notify-build-failure.sh
jjb/genius/genius-patch-test.yaml
jjb/global-jjb
jjb/integration/distribution/distribution.yaml
jjb/integration/integration-deploy-controller-run-test.sh
jjb/integration/integration-deploy-openstack-run-test.sh
jjb/lispflowmapping/lispflowmapping.yaml
jjb/netvirt/netvirt-csit-hwvtep-openstack.yaml
jjb/netvirt/netvirt-csit-multi-openstack.yaml
jjb/releng-jobs.yaml
jjb/releng-packer-jobs.yaml
lf-ansible
packer/provision/builder.yaml
packer/provision/mininet-ovs-2.8.yaml [new file with mode: 0644]
packer/provision/mininet.sh [deleted file]
packer/templates/baseline.json [deleted file]
packer/templates/devstack-pre-pip-newton.json
packer/templates/devstack-pre-pip-ocata.json
packer/templates/devstack-pre-pip-pike.json
packer/templates/devstack.json
packer/templates/gbp.json
packer/templates/mininet-ovs-2.5.json
packer/templates/mininet-ovs-2.6.json
packer/templates/mininet-ovs-2.8.json [new file with mode: 0644]
packer/templates/mininet.json [deleted file]
packer/vars/centos.json
packer/vars/ubuntu-14.04.json
packer/vars/ubuntu-16.04.json

index f528fbbebee2a491a20bddcdcd8cf1a30f930516..e24ebbbb2c24449f31b134e52a16d689d4085fd7 100644 (file)
@@ -1,9 +1,11 @@
 Following are the list of published images available to be used with Jenkins jobs.
 
+* ZZCI - CentOS 7 - builder - 20180109-0417
 * ZZCI - CentOS 7 - devstack - 20171208-1648
 * ZZCI - CentOS 7 - devstack-ocata - 20171208-1649
 * ZZCI - CentOS 7 - devstack-pike - 20171208-1649
 * ZZCI - CentOS 7 - docker - 20171209-0317
+* ZZCI - CentOS 7 - docker - 20180109-0346
 * ZZCI - CentOS 7 - java-builder - 20171206-1842
 * ZZCI - CentOS 7 - java-builder - 20171209-0032
 * ZZCI - CentOS 7 - robot - 20171207-1911
index b53a437ec462b49ab6f3faca6099ee6aa7b77332..a9b0a373feba04013c82ff6ca58986bfd7d861b3 100644 (file)
@@ -3,11 +3,11 @@
     name: autorelease-projects
     jobs:
       - 'autorelease-generate-release-notes-{stream}'
-      - 'autorelease-release-{stream}'
+      - 'autorelease-release-{stream}':
+          build-node: centos7-autorelease-8c-16g
       - 'autorelease-update-validate-jobs-{stream}'
       - 'autorelease-version-bump-{stream}'
-      - '{project-name}-validate-autorelease-{stream}':
-          build-node: centos7-builder-2c-8g
+      - '{project-name}-validate-autorelease-{stream}'
       - gerrit-tox-verify
 
     # todo: After Carbon EOL remove next-release-tag and directy pass
index d868d9e1e79ad706073ba7eea6f0e503d2048c0d..588d9053cde5b5706adcddb2eeb48e2af952d05e 100644 (file)
@@ -7,6 +7,7 @@
     # Defaults #
     ############
 
+    build-node: centos7-autorelease-8c-16g
     java-version: openjdk8
     mvn-version: mvn33
     extra-mvn-opts: ''
@@ -16,7 +17,7 @@
     #####################
 
     project-type: freestyle
-    node: centos7-builder-4c-16g
+    node: '{build-node}'
     jdk: '{java-version}'
     cron: 'H 0 * * *'
 
index 5128c97bbe3a68138838833f8432367a6ffe2203..0e3fe29b4f3fed4d86795a2716cbe4bea83cae62 100644 (file)
@@ -11,6 +11,8 @@
 # This script parses the console log to discover which project has caused a
 # build failure and notify the project as appropriate.
 
+echo "---> notify-build-failure.sh"
+
 NEWLINE=$'\n'
 RELEASE_EMAIL="release@lists.opendaylight.org"
 ARCHIVES_DIR="$JENKINS_HOSTNAME/$JOB_NAME/$BUILD_NUMBER"
index 2074fe8c27e868b67fe124a99dad7e3141b54a5a..0bd622eb465c490a7703425921e94ccbf60cdd8c 100644 (file)
@@ -34,3 +34,7 @@
       - genius:
           csit-list: >
               genius-csit-1node-gate-all-{stream}
+
+      - cluster:
+          csit-list: >
+              genius-csit-3node-gate-all-{stream}
index 562c3373545caf7c69524adfec4d3cba7e38c0c5..5e403dec080850163f75cf80e0317fcf839d69aa 160000 (submodule)
@@ -1 +1 @@
-Subproject commit 562c3373545caf7c69524adfec4d3cba7e38c0c5
+Subproject commit 5e403dec080850163f75cf80e0317fcf839d69aa
index 53d72fc8b9caf37880af39291ee140524dda0f57..b5e48fd91845d3110fbba6004498ae1294bd51e0 100644 (file)
@@ -10,6 +10,7 @@
       - 'distribution-offline-{stream}'
       - 'distribution-check-{stream}'
       - gerrit-maven-clm
+      - gerrit-maven-verify-dependencies
       - gerrit-tox-verify
 
     project: integration/distribution
index 3cfeb7e3962d153c1f4f0b2d8f369cc6dd45f2eb..7e5a6df827516ceb2fafb08c2d1f43d3cffe122c 100644 (file)
@@ -31,6 +31,12 @@ fi
 # Some versions of jenkins job builder result in feature list containing spaces
 # and ending in newline. Remove all that.
 ACTUALFEATURES=`echo "${ACTUALFEATURES}" | tr -d '\n \r'`
+echo "ACTUALFEATURES: ${ACTUALFEATURES}"
+
+# In the case that we want to install features via karaf shell, a space separated list of
+# ACTUALFEATURES IS NEEDED
+SPACE_SEPARATED_FEATURES=$(echo "${ACTUALFEATURES}" | tr ',' ' ')
+echo "SPACE_SEPARATED_FEATURES: ${SPACE_SEPARATED_FEATURES}"
 
 if [ -f "${WORKSPACE}/test/csit/scriptplans/${TESTPLAN}" ]; then
     echo "scriptplan exists!!!"
@@ -59,8 +65,10 @@ echo "Adding external repositories..."
 sed -ie "s%org.ops4j.pax.url.mvn.repositories=%org.ops4j.pax.url.mvn.repositories=http://repo1.maven.org/maven2@id=central, http://repository.springsource.com/maven/bundles/release@id=spring.ebr.release, http://repository.springsource.com/maven/bundles/external@id=spring.ebr.external, http://zodiac.springsource.com/maven/bundles/release@id=gemini, http://repository.apache.org/content/groups/snapshots-group@id=apache@snapshots@noreleases, https://oss.sonatype.org/content/repositories/snapshots@id=sonatype.snapshots.deploy@snapshots@noreleases, https://oss.sonatype.org/content/repositories/ops4j-snapshots@id=ops4j.sonatype.snapshots.deploy@snapshots@noreleases%g" ${MAVENCONF}
 cat ${MAVENCONF}
 
-echo "Configuring the startup features..."
-sed -ie "s/\(featuresBoot=\|featuresBoot =\)/featuresBoot = ${ACTUALFEATURES},/g" ${FEATURESCONF}
+if [[ "$USEFEATURESBOOT" == "True" ]]; then
+    echo "Configuring the startup features..."
+    sed -ie "s/\(featuresBoot=\|featuresBoot =\)/featuresBoot = ${ACTUALFEATURES},/g" ${FEATURESCONF}
+fi
 
 FEATURE_INDEX_STRING="features-integration-index"
 FEATURE_TEST_STRING="features-integration-test"
@@ -155,6 +163,33 @@ EOF
 
 cat > ${WORKSPACE}/post-startup-script.sh <<EOF
 
+if [[ "$USEFEATURESBOOT" != "True" ]]; then
+
+    # wait up to 60s for karaf port 8101 to be opened, polling every 5s
+    loop_count=0;
+    until [[ \$loop_count -ge 12 ]]; do
+        netstat -na | grep 8101 && break;
+        loop_count=\$[\$loop_count+1];
+        sleep 5;
+    done
+
+    echo "going to feature:install --no-auto-refresh ${SPACE_SEPARATED_FEATURES} one at a time"
+    for feature in ${SPACE_SEPARATED_FEATURES}; do
+        sshpass -p karaf ssh -o StrictHostKeyChecking=no \
+                             -o UserKnownHostsFile=/dev/null \
+                             -o LogLevel=error \
+                             -p 8101 karaf@localhost \
+                             feature:install --no-auto-refresh \$feature;
+    done
+
+    echo "ssh to karaf console to list -i installed features"
+    sshpass -p karaf ssh -o StrictHostKeyChecking=no \
+                         -o UserKnownHostsFile=/dev/null \
+                         -o LogLevel=error \
+                         -p 8101 karaf@localhost \
+                         feature:list -i
+fi
+
 echo "Waiting for controller to come up..."
 COUNT="0"
 while true; do
index 5ff94873c351cf2c0e203c33e84b3af9b386fdc8..2b66677df0b2f14a35c1fc6dfcbb419bf1377fdd 100644 (file)
@@ -264,6 +264,7 @@ enable_isolated_metadata = True
 [[post-config|/etc/nova/nova.conf]]
 [DEFAULT]
 force_config_drive = False
+force_raw_images = False
 
 [scheduler]
 discover_hosts_in_cells_interval = 30
@@ -344,6 +345,7 @@ EOF
 auth_strategy = keystone
 [DEFAULT]
 use_neutron = True
+force_raw_images = False
 EOF
 
     echo "Compute local.conf created:"
@@ -814,6 +816,10 @@ echo "workaround: adjust wait from 60s to 1800s (30m)"
 sed -i 's/wait_for_compute 60/wait_for_compute 1800/g' /opt/stack/devstack/lib/nova
 # TODO: modify sleep 1 to sleep 60, search wait_for_compute, then first sleep 1
 # that would just reduce the number of logs in the compute stack.log
+
+#Install qemu-img command in Control Node for Pike
+echo "Install qemu-img application"
+sudo yum install -y qemu-img
 EOF
 
 cat > "${WORKSPACE}/setup_host_cell_mapping.sh" << EOF
@@ -1203,7 +1209,7 @@ for suite in ${SUITES}; do
     --log log_${log_name}.html --report None --output output_${log_name}.xml \
     -v BUNDLEFOLDER:${BUNDLEFOLDER} \
     -v BUNDLE_URL:${ACTUAL_BUNDLE_URL} \
-    -v CONTROLLERFEATURES:${CONTROLLERFEATURES} \
+    -v CONTROLLERFEATURES:"${CONTROLLERFEATURES}" \
     -v CONTROLLER_USER:${USER} \
     -v DEVSTACK_DEPLOY_PATH:/opt/stack/devstack \
     -v HA_PROXY_IP:${HA_PROXY_IP} \
index fef86deaa46148af046f0acf75647512f3f445c5..bb8b08af01924ed54eece1ff8ec46b8afbd68567 100644 (file)
     mvn-opts: '-Xmx2048m -XX:MaxPermSize=512m -Dmaven.compile.fork=true'
     dependencies: 'controller-merge-{stream},odlparent-merge-{stream},yangtools-merge-{stream},neutron-merge-{stream}'
     email-upstream: '[lispflowmapping] [controller] [odlparent] [yangtools] [neutron]'
-    archive-artifacts: ''
+    archive-artifacts: >
+        **/*.log
+        **/target/surefire-reports/*-output.txt
+
     build-node: centos7-builder-4c-16g
 
     # Used by the release job
index da0c1e428b24ff3e22468b8508af5d6472202ddc..8e3a4ac18c06d4b4cedd3c457961b334d95d0ae2 100644 (file)
@@ -7,7 +7,6 @@
     project: 'netvirt'
     stream: 'oxygen'
     branch: 'master'
-    use-features-boot: 'False'
 
     topology:
       - 1node:
@@ -68,7 +67,6 @@
     project: 'netvirt'
     stream: 'nitrogen'
     branch: 'stable/nitrogen'
-    use-features-boot: 'False'
 
     topology:
       - 1node:
     stream: 'carbon'
     branch: 'stable/carbon'
     karaf-version: karaf3
-    use-features-boot: 'False'
 
     topology:
       - 1node:
index b685c17f2eaee0ab6506abf12da943b87e4ae3f7..74eb730a2fcca9ed0bebe4888209c1de4936d563 100644 (file)
@@ -15,7 +15,6 @@
     odl_system_flavor: v1-performance-8
     openstack_system_flavor: v1-performance-8
     openstack_system2_flavor: v1-performance-4
-    use-features-boot: 'False'
 
     topology:
       - 1node:
@@ -74,7 +73,6 @@
     odl_system_flavor: v1-performance-8
     openstack_system_flavor: v1-performance-8
     openstack_system2_flavor: v1-performance-4
-    use-features-boot: 'False'
 
     topology:
       - 1node:
     odl_system_flavor: v1-performance-8
     openstack_system_flavor: v1-performance-8
     openstack_system2_flavor: v1-performance-4
-    use-features-boot: 'False'
 
     topology:
       - 1node:
     security-group-mode: 'stateful'
     odl_system_flavor: v1-performance-4
     openstack_system2_flavor: v1-performance-2
-    use-features-boot: 'False'
 
     topology:
       - 1node:
index 7668462894381da079f2e910720d48747ae67d12..49997db4f9f0ae9ff72be99b5d31f6d553acded3 100644 (file)
@@ -23,6 +23,7 @@
     build-node: centos7-builder-2c-8g
     archive-artifacts: '**/*.log'
     build-timeout: 30
+    jjb-version: 2.0.0
 
 - project:
     name: packer-jobs
@@ -49,7 +50,6 @@
       - devstack-pre-pip-pike:
           build-timeout: 75
       - gbp
-      - mininet
       - mininet-ovs-2.5:
           build-timeout: 60
       - mininet-ovs-2.6:
@@ -58,8 +58,6 @@
     exclude:
       - platforms: centos
         templates: gbp
-      - platforms: centos
-        templates: mininet
       - platforms: centos
         templates: mininet-ovs-2.5
       - platforms: centos
         templates: devstack-pre-pip-pike
       - platforms: ubuntu-16.04
         templates: devstack
-      - platforms: ubuntu-16.04
-        templates: mininet
-      - platforms: ubuntu-16.04
-        templates: baseline
-      - platforms: centos
-        templates: baseline
 
 - job-template:
     name: builder-check-poms
index f2d7f0f83e001260a50db64b9e8c90e5354b26b0..8ae7b09fbd832181b1d6f4efbf6351ebe275bda1 100644 (file)
@@ -10,7 +10,7 @@
     archive-artifacts: '**/*.log'
 
     build-node: centos7-builder-2c-8g
-    build-timeout: 75
+    build-timeout: 90
 
     platforms: centos
     templates: builder
     platforms: centos
     templates: docker
 
+- project:
+    name: packer-mininet-jobs
+    jobs:
+      - gerrit-packer-merge
+
+    project: releng/builder
+    project-name: builder
+    branch: master
+    archive-artifacts: '**/*.log'
+
+    build-node: centos7-builder-2c-8g
+    build-timeout: 90
+
+    platforms: ubuntu-16.04
+    templates: mininet-ovs-2.8
+
 - project:
     name: packer-robot-jobs
     jobs:
index ba9ed1ef49f7ac3859d5c1b2505116a7610ccfc0..0b9b6addb738ea7c483c8cdf75b9ae173480f9cd 160000 (submodule)
@@ -1 +1 @@
-Subproject commit ba9ed1ef49f7ac3859d5c1b2505116a7610ccfc0
+Subproject commit 0b9b6addb738ea7c483c8cdf75b9ae173480f9cd
index 03776b5eceebb007a047d3a219432964c0507901..459c4a5342d95a3fd63215a4ffe2c3c25c5a82e6 100644 (file)
@@ -49,6 +49,7 @@
           shell: /tmp/build_quagga/zrpcd/pkgsrc/dev_compile_script.sh -d -b -t
           args:
             chdir: /tmp/build_quagga/zrpcd
+            executable: /bin/bash
           become: true
 
   post_tasks:
diff --git a/packer/provision/mininet-ovs-2.8.yaml b/packer/provision/mininet-ovs-2.8.yaml
new file mode 100644 (file)
index 0000000..e85baf2
--- /dev/null
@@ -0,0 +1,156 @@
+---
+- import_playbook: ../common-packer/provision/baseline.yaml
+
+- hosts: all
+  become_user: root
+  become_method: sudo
+  vars:
+    ovs_checksum: sha256:8d1c439e26d7044f0ec823c7fef1b00b7c6465da0b83a7d0cf3191ed1dc43893
+    ovs_version: 2.8.1
+
+  pre_tasks:
+    - include_role: name=system-update
+
+  tasks:
+    - name: 'Install OpenVSwitch {{ovs_version}}'
+      block:
+        - name: Install OpenVSwitch dependencies
+          apt: 'name={{item}} state=present'
+          with_items:
+            - autoconf
+            - automake
+            - bzip2
+            - debhelper
+            - dh-autoreconf
+            - libssl-dev
+            - openssl
+            - pkg-config
+            - procps
+            - python-all
+            - python-qt4
+            - python-twisted-conch
+            - python-zopeinterface
+          become: true
+        - name: 'Fetch OpenVSwitch {{ovs_version}}'
+          get_url:
+            url: 'http://openvswitch.org/releases/openvswitch-{{ovs_version}}.tar.gz'
+            dest: '/tmp/openvswitch-{{ovs_version}}.tar.gz'
+            checksum: '{{ovs_checksum}}'
+        - name: Create /tmp/ovs directory
+          file:
+            path: /tmp/ovs
+            state: directory
+            mode: 0755
+        - name: 'Unarchive OpenVSwitch {{ovs_version}}'
+          unarchive:
+            src: '/tmp/openvswitch-{{ovs_version}}.tar.gz'
+            dest: /tmp/ovs
+            remote_src: true
+        - name: 'Build OpenVSwitch {{ovs_version}}'
+          shell: DEB_BUILD_OPTIONS='parallel=8 nocheck' fakeroot debian/rules binary
+          args:
+            chdir: '/tmp/ovs/openvswitch-{{ovs_version}}'
+        - name: 'Install OpenVSwitch {{ovs_version}}'
+          apt: 'deb={{item}}'
+          with_items:
+            - /tmp/ovs/libopenvswitch_2.8.1-1_amd64.deb
+            - /tmp/ovs/openvswitch-common_2.8.1-1_amd64.deb
+            - /tmp/ovs/openvswitch-switch_2.8.1-1_amd64.deb
+            - /tmp/ovs/python-openvswitch_2.8.1-1_all.deb
+            - /tmp/ovs/openvswitch-vtep_2.8.1-1_amd64.deb
+          become: true
+        - name: Enable openvswitch-switch service
+          systemd:
+            name: openvswitch-switch
+            enabled: true
+            masked: false
+          become: true
+        - name: Enable openvswitch-vtep service
+          systemd:
+            name: openvswitch-vtep
+            enabled: true
+            masked: false
+          become: true
+
+    - name: Install Mininet
+      apt: name=mininet state=present
+      become: true
+
+    - name: Install mtcbench
+      block:
+        - name: Install mtcbench dependencies
+          apt: 'name={{item}} state=present'
+          with_items:
+            - autoconf
+            - automake
+            - build-essential
+            - libconfig-dev
+            - libffi-dev
+            - libpcap-dev
+            - libsnmp-dev
+            - libtool
+            - libssl-doc
+            - make
+            - pkg-config
+            - snmp
+            - snmpd
+          become: true
+        - name: Fetch mtcbench git repo
+          git:
+            repo: https://github.com/intracom-telecom-sdn/mtcbench.git
+            dest: /tmp/mtcbench
+        - name: Run mtcbench/deploy/docker/provision.sh
+          command: /tmp/mtcbench/deploy/docker/provision.sh
+          become: true
+        - name: Build mtcbench
+          # TODO: remove workaround for build issue with mtcbench
+          # when mtcbench dependency build correctly
+          # https://github.com/intracom-telecom-sdn/mtcbench/issues/10
+          shell: /tmp/mtcbench/build_mtcbench.sh || true
+        - name: Run make for cbench
+          command: make
+          args:
+            chdir: /tmp/mtcbench/oflops/cbench
+        - name: Install cbench to /usr/local/bin/cbench
+          copy:
+            src: /tmp/mtcbench/oflops/cbench/cbench
+            dest: /usr/local/bin/cbench
+            mode: 0755
+            owner: root
+            remote_src: yes
+          become: true
+
+    - name: Install exabgp
+      apt: name=exabgp state=present
+      become: true
+
+    - name: Install python-netaddr for custom mininet topologies
+      apt: name=python-netaddr state=present
+      become: true
+
+    - name: Install vlan for vlan based tests in VTN suites
+      apt: name=vlan state=present
+      become: true
+
+    - name: Install Quagga
+      block:
+        - name: Fetch Quagga git repo
+          git:
+            repo: https://github.com/6WIND/zrpcd.git
+            dest: /tmp/build_quagga/zrpcd
+            version: 20170731
+        - name: Set compile script executable
+          file:
+            path: /tmp/build_quagga/zrpcd/pkgsrc/dev_compile_script.sh
+            mode: 0755
+        - name: Compile Quagga
+          shell: /tmp/build_quagga/zrpcd/pkgsrc/dev_compile_script.sh -d -b -t
+          args:
+            chdir: /tmp/build_quagga/zrpcd
+            executable: /bin/bash
+          become: true
+
+  post_tasks:
+    - name: System Reseal
+      script: ../common-packer/provision/system-reseal.sh
+      become: true
diff --git a/packer/provision/mininet.sh b/packer/provision/mininet.sh
deleted file mode 100644 (file)
index b4a31e6..0000000
+++ /dev/null
@@ -1,73 +0,0 @@
-#!/bin/bash
-
-# vim: sw=4 ts=4 sts=4 et tw=72 :
-
-# force any errors to cause the script and job to end in failure
-set -xeu -o pipefail
-
-# Ensure that necessary variables are set to enable noninteractive mode in
-# commands.
-export DEBIAN_FRONTEND=noninteractive
-
-# To handle the prompt style that is expected all over the environment
-# with how use use robotframework we need to make sure that it is
-# consistent for any of the users that are created during dynamic spin
-# ups
-echo 'PS1="[\u@\h \W]> "' >> /etc/skel/.bashrc
-
-echo '---> Install mininet with OF13 patch'
-cd /tmp
-cat > newOptions.patch <<EOF
---- mininet/node.py     2014-09-12 13:48:03.165628683 +0100
-+++ mininet/node.py     2014-09-12 13:50:39.021630236 +0100
-@@ -952,6 +952,10 @@
-            datapath: userspace or kernel mode (kernel|user)"""
-         Switch.__init__( self, name, **params )
-         self.failMode = failMode
-+        protKey = 'protocols'
-+        if self.params and protKey in self.params:
-+               print 'have protcol params!'
-+               self.opts += protKey + '=' + self.params[protKey]
-         self.datapath = datapath
-
-     @classmethod
-@@ -1027,8 +1031,9 @@
-         if self.datapath == 'user':
-             self.cmd( 'ovs-vsctl set bridge', self,'datapath_type=netdev' )
-         int( self.dpid, 16 ) # DPID must be a hex string
-+        print 'OVSswitch opts: ',self.opts
-         self.cmd( 'ovs-vsctl -- set Bridge', self,
--                  'other_config:datapath-id=' + self.dpid )
-+                  self.opts+' other_config:datapath-id=' + self.dpid )
-         self.cmd( 'ovs-vsctl set-fail-mode', self, self.failMode )
-         for intf in self.intfList():
-             if not intf.IP():
-EOF
-
-git clone git://github.com/mininet/mininet
-cd mininet/
-git checkout -b 2.1.0 2.1.0
-git apply -p0 < ../newOptions.patch
-cd ./util
-./install.sh -nfv
-
-echo '---> Installing cbench installation for running openflow performance tests'
-OF_DIR="$HOME/openflow"  # Directory that contains OpenFlow code
-OFLOPS_DIR="$HOME/oflops"  # Directory that contains oflops repo
-
-apt-get install -y --force-yes libsnmp-dev libpcap-dev libconfig-dev
-
-git clone git://gitosis.stanford.edu/openflow.git "$OF_DIR"
-git clone https://github.com/andi-bigswitch/oflops.git "$OFLOPS_DIR"
-
-cd "$OFLOPS_DIR"
-./boot.sh
-./configure --with-openflow-src-dir="$OF_DIR"
-make
-make install
-
-echo '---> Installing vlan for vlan based tests in VTN suites'
-apt-get install -y --force-yes vlan
-
-# Install netaddr package which is needed by some custom mininet topologies
-apt-get install -y --force-yes -qq python-netaddr
diff --git a/packer/templates/baseline.json b/packer/templates/baseline.json
deleted file mode 100644 (file)
index 4da796d..0000000
+++ /dev/null
@@ -1,49 +0,0 @@
-{
-  "variables": {
-    "public_base_image": null,
-    "public_network": null,
-    "public_cloud_user": null,
-    "public_auth_url": null,
-    "public_tenant": null,
-    "public_user": null,
-    "public_pass": null,
-    "distro": null,
-    "cloud_user_data": null,
-    "ssh_proxy_host": ""
-  },
-  "builders": [
-    {
-      "type": "openstack",
-      "identity_endpoint": "{{user `public_auth_url`}}",
-      "domain_name": "Default",
-      "tenant_name": "{{user `public_tenant`}}",
-      "username": "{{user `public_user`}}",
-      "password": "{{user `public_pass`}}",
-      "region": "ca-ymq-1",
-      "availability_zone": "ca-ymq-2",
-      "ssh_username": "{{user `public_cloud_user`}}",
-      "ssh_proxy_host": "{{user `ssh_proxy_host`}}",
-      "image_name": "ZZCI - {{user `distro`}} - baseline - {{isotime \"20060102-1504\"}}",
-      "source_image_name": "{{user `public_base_image`}}",
-      "flavor": "v1-standard-1",
-      "networks": [
-        "{{user `public_network`}}"
-      ],
-      "user_data_file": "{{user `cloud_user_data`}}",
-      "metadata": {
-        "ci_managed": "yes"
-      }
-    }
-  ],
-  "provisioners": [
-    {
-      "type": "shell",
-      "scripts": [
-        "provision/baseline.sh",
-        "provision/system_reseal_local_env.sh",
-        "provision/system_reseal.sh"
-      ],
-      "execute_command": "chmod +x {{ .Path }}; if [ \"$UID\" == \"0\" ]; then {{ .Vars }} '{{ .Path }}'; else {{ .Vars }} sudo -E '{{ .Path }}'; fi"
-    }
-  ]
-}
index fc6a6662ef56980f267df1c4349e11d205fef6c5..f9d6d193485e62c9524c640ebf630acd7ba5156d 100644 (file)
@@ -1,33 +1,33 @@
 {
   "variables": {
-    "public_base_image": null,
-    "public_network": null,
-    "public_cloud_user": null,
-    "public_auth_url": null,
-    "public_tenant": null,
-    "public_user": null,
-    "public_pass": null,
+    "base_image": null,
     "distro": null,
+    "cloud_auth_url": null,
+    "cloud_user": null,
+    "cloud_pass": null,
+    "cloud_network": null,
+    "cloud_tenant": null,
     "cloud_user_data": null,
+    "ssh_user": null,
     "ssh_proxy_host": ""
   },
   "builders": [
     {
       "type": "openstack",
-      "identity_endpoint": "{{user `public_auth_url`}}",
+      "identity_endpoint": "{{user `cloud_auth_url`}}",
       "domain_name": "Default",
-      "tenant_name": "{{user `public_tenant`}}",
-      "username": "{{user `public_user`}}",
-      "password": "{{user `public_pass`}}",
+      "tenant_name": "{{user `cloud_tenant`}}",
+      "username": "{{user `cloud_user`}}",
+      "password": "{{user `cloud_pass`}}",
       "region": "ca-ymq-1",
       "availability_zone": "ca-ymq-2",
-      "ssh_username": "{{user `public_cloud_user`}}",
+      "ssh_username": "{{user `ssh_user`}}",
       "ssh_proxy_host": "{{user `ssh_proxy_host`}}",
       "image_name": "ZZCI - {{user `distro`}} - devstack-newton - {{isotime \"20060102-1504\"}}",
-      "source_image_name": "{{user `public_base_image`}}",
+      "source_image_name": "{{user `base_image`}}",
       "flavor": "v1-standard-1",
       "networks": [
-        "{{user `public_network`}}"
+        "{{user `cloud_network`}}"
       ],
       "user_data_file": "{{user `cloud_user_data`}}",
       "metadata": {
index 68c64314a8bed435d6e220d5725de302a96e8996..3fb4a0b9d01f21193507edd7c2b6ff6d12824fcd 100644 (file)
@@ -1,33 +1,33 @@
 {
   "variables": {
-    "public_base_image": null,
-    "public_network": null,
-    "public_cloud_user": null,
-    "public_auth_url": null,
-    "public_tenant": null,
-    "public_user": null,
-    "public_pass": null,
+    "base_image": null,
     "distro": null,
+    "cloud_auth_url": null,
+    "cloud_user": null,
+    "cloud_pass": null,
+    "cloud_network": null,
+    "cloud_tenant": null,
     "cloud_user_data": null,
+    "ssh_user": null,
     "ssh_proxy_host": ""
   },
   "builders": [
     {
       "type": "openstack",
-      "identity_endpoint": "{{user `public_auth_url`}}",
+      "identity_endpoint": "{{user `cloud_auth_url`}}",
       "domain_name": "Default",
-      "tenant_name": "{{user `public_tenant`}}",
-      "username": "{{user `public_user`}}",
-      "password": "{{user `public_pass`}}",
+      "tenant_name": "{{user `cloud_tenant`}}",
+      "username": "{{user `cloud_user`}}",
+      "password": "{{user `cloud_pass`}}",
       "region": "ca-ymq-1",
       "availability_zone": "ca-ymq-2",
-      "ssh_username": "{{user `public_cloud_user`}}",
+      "ssh_username": "{{user `ssh_user`}}",
       "ssh_proxy_host": "{{user `ssh_proxy_host`}}",
       "image_name": "ZZCI - {{user `distro`}} - devstack-ocata - {{isotime \"20060102-1504\"}}",
-      "source_image_name": "{{user `public_base_image`}}",
+      "source_image_name": "{{user `base_image`}}",
       "flavor": "v1-standard-1",
       "networks": [
-        "{{user `public_network`}}"
+        "{{user `cloud_network`}}"
       ],
       "user_data_file": "{{user `cloud_user_data`}}",
       "metadata": {
index 2c42e2a50f8b877d7cc178d60304f214ed18d2ad..c33f502fca08aba64f1e5bf9a4234d5f73fa0a51 100644 (file)
@@ -1,33 +1,33 @@
 {
   "variables": {
-    "public_base_image": null,
-    "public_network": null,
-    "public_cloud_user": null,
-    "public_auth_url": null,
-    "public_tenant": null,
-    "public_user": null,
-    "public_pass": null,
+    "base_image": null,
     "distro": null,
+    "cloud_auth_url": null,
+    "cloud_user": null,
+    "cloud_pass": null,
+    "cloud_network": null,
+    "cloud_tenant": null,
     "cloud_user_data": null,
+    "ssh_user": null,
     "ssh_proxy_host": ""
   },
   "builders": [
     {
       "type": "openstack",
-      "identity_endpoint": "{{user `public_auth_url`}}",
+      "identity_endpoint": "{{user `cloud_auth_url`}}",
       "domain_name": "Default",
-      "tenant_name": "{{user `public_tenant`}}",
-      "username": "{{user `public_user`}}",
-      "password": "{{user `public_pass`}}",
+      "tenant_name": "{{user `cloud_tenant`}}",
+      "username": "{{user `cloud_user`}}",
+      "password": "{{user `cloud_pass`}}",
       "region": "ca-ymq-1",
       "availability_zone": "ca-ymq-2",
-      "ssh_username": "{{user `public_cloud_user`}}",
+      "ssh_username": "{{user `ssh_user`}}",
       "ssh_proxy_host": "{{user `ssh_proxy_host`}}",
       "image_name": "ZZCI - {{user `distro`}} - devstack-pike - {{isotime \"20060102-1504\"}}",
-      "source_image_name": "{{user `public_base_image`}}",
+      "source_image_name": "{{user `base_image`}}",
       "flavor": "v1-standard-1",
       "networks": [
-        "{{user `public_network`}}"
+        "{{user `cloud_network`}}"
       ],
       "user_data_file": "{{user `cloud_user_data`}}",
       "metadata": {
index b912e87d515b8fd27c3134c6ba4a78f52eae9626..fd4634c15735abaeeec682920608cc8f28922b52 100644 (file)
@@ -1,33 +1,33 @@
 {
   "variables": {
-    "public_base_image": null,
-    "public_network": null,
-    "public_cloud_user": null,
-    "public_auth_url": null,
-    "public_tenant": null,
-    "public_user": null,
-    "public_pass": null,
+    "base_image": null,
     "distro": null,
+    "cloud_auth_url": null,
+    "cloud_user": null,
+    "cloud_pass": null,
+    "cloud_network": null,
+    "cloud_tenant": null,
     "cloud_user_data": null,
+    "ssh_user": null,
     "ssh_proxy_host": ""
   },
   "builders": [
     {
       "type": "openstack",
-      "identity_endpoint": "{{user `public_auth_url`}}",
+      "identity_endpoint": "{{user `cloud_auth_url`}}",
       "domain_name": "Default",
-      "tenant_name": "{{user `public_tenant`}}",
-      "username": "{{user `public_user`}}",
-      "password": "{{user `public_pass`}}",
+      "tenant_name": "{{user `cloud_tenant`}}",
+      "username": "{{user `cloud_user`}}",
+      "password": "{{user `cloud_pass`}}",
       "region": "ca-ymq-1",
       "availability_zone": "ca-ymq-2",
-      "ssh_username": "{{user `public_cloud_user`}}",
+      "ssh_username": "{{user `ssh_user`}}",
       "ssh_proxy_host": "{{user `ssh_proxy_host`}}",
       "image_name": "ZZCI - {{user `distro`}} - devstack - {{isotime \"20060102-1504\"}}",
-      "source_image_name": "{{user `public_base_image`}}",
+      "source_image_name": "{{user `base_image`}}",
       "flavor": "v1-standard-1",
       "networks": [
-        "{{user `public_network`}}"
+        "{{user `cloud_network`}}"
       ],
       "user_data_file": "{{user `cloud_user_data`}}",
       "metadata": {
index 0e3eb0f2b25bcf707157383658cb5e61020cbad2..026c2eba8c5036b156528748200d644f65d8d310 100644 (file)
@@ -1,33 +1,33 @@
 {
   "variables": {
-    "public_base_image": null,
-    "public_network": null,
-    "public_cloud_user": null,
-    "public_auth_url": null,
-    "public_tenant": null,
-    "public_user": null,
-    "public_pass": null,
+    "base_image": null,
     "distro": null,
+    "cloud_auth_url": null,
+    "cloud_user": null,
+    "cloud_pass": null,
+    "cloud_network": null,
+    "cloud_tenant": null,
     "cloud_user_data": null,
+    "ssh_user": null,
     "ssh_proxy_host": ""
   },
   "builders": [
     {
       "type": "openstack",
-      "identity_endpoint": "{{user `public_auth_url`}}",
+      "identity_endpoint": "{{user `cloud_auth_url`}}",
       "domain_name": "Default",
-      "tenant_name": "{{user `public_tenant`}}",
-      "username": "{{user `public_user`}}",
-      "password": "{{user `public_pass`}}",
+      "tenant_name": "{{user `cloud_tenant`}}",
+      "username": "{{user `cloud_user`}}",
+      "password": "{{user `cloud_pass`}}",
       "region": "ca-ymq-1",
       "availability_zone": "ca-ymq-2",
-      "ssh_username": "{{user `public_cloud_user`}}",
+      "ssh_username": "{{user `ssh_user`}}",
       "ssh_proxy_host": "{{user `ssh_proxy_host`}}",
       "image_name": "ZZCI - {{user `distro`}} - gbp - {{isotime \"20060102-1504\"}}",
-      "source_image_name": "{{user `public_base_image`}}",
+      "source_image_name": "{{user `base_image`}}",
       "flavor": "v1-standard-1",
       "networks": [
-        "{{user `public_network`}}"
+        "{{user `cloud_network`}}"
       ],
       "user_data_file": "{{user `cloud_user_data`}}",
       "metadata": {
index a3d02156923831aa726ab50b679512cba2a9264b..3433c09a5dc970fc706d4421594fe0a65cf890d3 100644 (file)
@@ -1,33 +1,33 @@
 {
   "variables": {
-    "public_base_image": null,
-    "public_network": null,
-    "public_cloud_user": null,
-    "public_auth_url": null,
-    "public_tenant": null,
-    "public_user": null,
-    "public_pass": null,
+    "base_image": null,
     "distro": null,
+    "cloud_auth_url": null,
+    "cloud_user": null,
+    "cloud_pass": null,
+    "cloud_network": null,
+    "cloud_tenant": null,
     "cloud_user_data": null,
+    "ssh_user": null,
     "ssh_proxy_host": ""
   },
   "builders": [
     {
       "type": "openstack",
-      "identity_endpoint": "{{user `public_auth_url`}}",
+      "identity_endpoint": "{{user `cloud_auth_url`}}",
       "domain_name": "Default",
-      "tenant_name": "{{user `public_tenant`}}",
-      "username": "{{user `public_user`}}",
-      "password": "{{user `public_pass`}}",
+      "tenant_name": "{{user `cloud_tenant`}}",
+      "username": "{{user `cloud_user`}}",
+      "password": "{{user `cloud_pass`}}",
       "region": "ca-ymq-1",
       "availability_zone": "ca-ymq-2",
-      "ssh_username": "{{user `public_cloud_user`}}",
+      "ssh_username": "{{user `ssh_user`}}",
       "ssh_proxy_host": "{{user `ssh_proxy_host`}}",
       "image_name": "ZZCI - {{user `distro`}} - mininet-ovs-25 - {{isotime \"20060102-1504\"}}",
-      "source_image_name": "{{user `public_base_image`}}",
+      "source_image_name": "{{user `base_image`}}",
       "flavor": "v1-standard-1",
       "networks": [
-        "{{user `public_network`}}"
+        "{{user `cloud_network`}}"
       ],
       "user_data_file": "{{user `cloud_user_data`}}",
       "metadata": {
index dc2eed198ce52bbe4d98e741c2f2a54e852aca6f..b6ec6998b0a92a426aa91458a0f2378019baef79 100644 (file)
@@ -1,33 +1,33 @@
 {
   "variables": {
-    "public_base_image": null,
-    "public_network": null,
-    "public_cloud_user": null,
-    "public_auth_url": null,
-    "public_tenant": null,
-    "public_user": null,
-    "public_pass": null,
+    "base_image": null,
     "distro": null,
+    "cloud_auth_url": null,
+    "cloud_user": null,
+    "cloud_pass": null,
+    "cloud_network": null,
+    "cloud_tenant": null,
     "cloud_user_data": null,
+    "ssh_user": null,
     "ssh_proxy_host": ""
   },
   "builders": [
     {
       "type": "openstack",
-      "identity_endpoint": "{{user `public_auth_url`}}",
+      "identity_endpoint": "{{user `cloud_auth_url`}}",
       "domain_name": "Default",
-      "tenant_name": "{{user `public_tenant`}}",
-      "username": "{{user `public_user`}}",
-      "password": "{{user `public_pass`}}",
+      "tenant_name": "{{user `cloud_tenant`}}",
+      "username": "{{user `cloud_user`}}",
+      "password": "{{user `cloud_pass`}}",
       "region": "ca-ymq-1",
       "availability_zone": "ca-ymq-2",
-      "ssh_username": "{{user `public_cloud_user`}}",
+      "ssh_username": "{{user `ssh_user`}}",
       "ssh_proxy_host": "{{user `ssh_proxy_host`}}",
       "image_name": "ZZCI - {{user `distro`}} - mininet-ovs-26 - {{isotime \"20060102-1504\"}}",
-      "source_image_name": "{{user `public_base_image`}}",
+      "source_image_name": "{{user `base_image`}}",
       "flavor": "v1-standard-1",
       "networks": [
-        "{{user `public_network`}}"
+        "{{user `cloud_network`}}"
       ],
       "user_data_file": "{{user `cloud_user_data`}}",
       "metadata": {
diff --git a/packer/templates/mininet-ovs-2.8.json b/packer/templates/mininet-ovs-2.8.json
new file mode 100644 (file)
index 0000000..142d492
--- /dev/null
@@ -0,0 +1,59 @@
+{
+  "variables": {
+    "base_image": null,
+    "distro": null,
+    "cloud_auth_url": null,
+    "cloud_user": null,
+    "cloud_pass": null,
+    "cloud_network": null,
+    "cloud_tenant": null,
+    "cloud_user_data": null,
+    "ssh_user": null,
+    "ssh_proxy_host": ""
+  },
+  "builders": [
+    {
+      "name": "vexxhost",
+      "image_name": "ZZCI - {{user `distro`}} - mininet-ovs-28 - {{isotime \"20060102-1504\"}}",
+      "source_image_name": "{{user `base_image`}}",
+      "type": "openstack",
+      "identity_endpoint": "{{user `cloud_auth_url`}}",
+      "username": "{{user `cloud_user`}}",
+      "password": "{{user `cloud_pass`}}",
+      "tenant_name": "{{user `cloud_tenant`}}",
+      "domain_name": "Default",
+      "region": "ca-ymq-1",
+      "availability_zone": "ca-ymq-2",
+      "networks": [
+        "{{user `cloud_network`}}"
+      ],
+      "user_data_file": "{{user `cloud_user_data`}}",
+      "ssh_username": "{{user `ssh_user`}}",
+      "ssh_proxy_host": "{{user `ssh_proxy_host`}}",
+      "flavor": "v1-standard-1",
+      "metadata": {
+        "ci_managed": "yes"
+      }
+    }
+  ],
+  "provisioners": [
+    {
+      "type": "shell",
+      "scripts": [
+        "common-packer/provision/install-python.sh"
+      ],
+      "execute_command": "chmod +x {{ .Path }}; if [ \"$UID\" == \"0\" ]; then {{ .Vars }} '{{ .Path }}'; else {{ .Vars }} sudo -E '{{ .Path }}'; fi"
+    },
+    {
+      "type": "ansible",
+      "playbook_file": "provision/mininet-ovs-2.8.yaml",
+      "ansible_env_vars": [
+        "ANSIBLE_NOCOWS=1",
+        "ANSIBLE_PIPELINING=True",
+        "ANSIBLE_ROLES_PATH=../lf-ansible/roles",
+        "ANSIBLE_CALLBACK_WHITELIST=profile_tasks",
+        "ANSIBLE_STDOUT_CALLBACK=debug"
+      ]
+    }
+  ]
+}
diff --git a/packer/templates/mininet.json b/packer/templates/mininet.json
deleted file mode 100644 (file)
index d39f2fb..0000000
+++ /dev/null
@@ -1,50 +0,0 @@
-{
-  "variables": {
-    "public_base_image": null,
-    "public_network": null,
-    "public_cloud_user": null,
-    "public_auth_url": null,
-    "public_tenant": null,
-    "public_user": null,
-    "public_pass": null,
-    "distro": null,
-    "cloud_user_data": null,
-    "ssh_proxy_host": ""
-  },
-  "builders": [
-    {
-      "type": "openstack",
-      "identity_endpoint": "{{user `public_auth_url`}}",
-      "domain_name": "Default",
-      "tenant_name": "{{user `public_tenant`}}",
-      "username": "{{user `public_user`}}",
-      "password": "{{user `public_pass`}}",
-      "region": "ca-ymq-1",
-      "availability_zone": "ca-ymq-2",
-      "ssh_username": "{{user `public_cloud_user`}}",
-      "ssh_proxy_host": "{{user `ssh_proxy_host`}}",
-      "image_name": "ZZCI - {{user `distro`}} - mininet - {{isotime \"20060102-1504\"}}",
-      "source_image_name": "{{user `public_base_image`}}",
-      "flavor": "v1-standard-1",
-      "networks": [
-        "{{user `public_network`}}"
-      ],
-      "user_data_file": "{{user `cloud_user_data`}}",
-      "metadata": {
-        "ci_managed": "yes"
-      }
-    }
-  ],
-  "provisioners": [
-    {
-      "type": "shell",
-      "scripts": [
-        "provision/baseline.sh",
-        "provision/mininet.sh",
-        "provision/system_reseal_local_env.sh",
-        "provision/system_reseal.sh"
-      ],
-      "execute_command": "chmod +x {{ .Path }}; if [ \"$UID\" == \"0\" ]; then {{ .Vars }} '{{ .Path }}'; else {{ .Vars }} sudo -E '{{ .Path }}'; fi"
-    }
-  ]
-}
index 412aac90e16fcd55091426a99d4505ec860a508f..678a903031c32cec3760c96eead90a94ae5e4a7b 100644 (file)
@@ -1,6 +1,4 @@
 {
-  "public_base_image": "CentOS 7.1711 (2017-11-05) - LF upload",
-  "public_cloud_user": "centos",
   "base_image": "LF - CentOS 7.1711 (2017-11-05)",
   "distro": "CentOS 7",
   "ssh_user": "centos",
index 742825fc2ef418812f9d39aa736167d7898a34d5..882d9598d785a4274e089448c7bed35dfedb4c5d 100644 (file)
@@ -1,6 +1,4 @@
 {
-  "public_base_image": "Ubuntu 14.04.5 LTS (2017-12-05) - LF upload",
-  "public_cloud_user": "ubuntu",
   "base_image": "LF - Ubuntu 14.04 LTS (2017-12-01)",
   "distro": "Ubuntu 14.04",
   "ssh_user": "ubuntu",
index b8dc1762b727383c9239f20145df600d9dfe0229..b55f96b4b722b49609f837005c355a1bce5bc38d 100644 (file)
@@ -1,6 +1,4 @@
 {
-  "public_base_image": "Ubuntu 16.04 LTS (2017-12-01) - LF upload",
-  "public_cloud_user": "ubuntu",
   "base_image": "LF - Ubuntu 16.04 LTS (2017-12-01)",
   "distro": "Ubuntu 16.04",
   "ssh_user": "ubuntu",