--- - import_playbook: ../common-packer/provision/baseline.yaml - hosts: all become_user: root become_method: sudo vars: ovs_checksum: sha256:e40227e366db55f997344876a692918af68430bcb5fd3bd9ffe8dfd8c0bdd51f ovs_version: 2.8.11 pre_tasks: - include_role: name=lfit.system-update tasks: - name: "Install OpenVSwitch {{ovs_version}}" block: - name: Install OpenVSwitch dependencies apt: name: - autoconf - automake - bzip2 - debhelper - dh-autoreconf - libssl-dev - openssl - pkg-config - procps - python-all - python-qt4 - python-twisted-conch - python-zopeinterface state: present 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.11-1_amd64.deb - /tmp/ovs/openvswitch-common_2.8.11-1_amd64.deb - /tmp/ovs/openvswitch-switch_2.8.11-1_amd64.deb - /tmp/ovs/python-openvswitch_2.8.11-1_all.deb - /tmp/ovs/openvswitch-vtep_2.8.11-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: - autoconf - automake - build-essential - libconfig-dev - libffi-dev - libpcap-dev - libsnmp-dev - libtool - libssl-doc - make - pkg-config - snmp - snmpd state: present 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: true 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 # This image is being used as a CSIT tools image and some of our # CSIT test scripts are relying on python-2 and its request library. # This makes sure we install them onto the image even though they # are not required for the OVS rule of it. - name: Install CSIT dependencies apt: name: - python-requests state: present become: true post_tasks: - name: System Reseal script: ../common-packer/provision/system-reseal.sh become: true