Merge "Provision mininet-ovs-26 image with Ansible"
[releng/builder.git] / packer / provision / mininet-ovs-2.6.yaml
1 ---
2 - import_playbook: ../common-packer/provision/baseline.yaml
3
4 - hosts: all
5   become_user: root
6   become_method: sudo
7   vars:
8     ovs_version: 2.6.1
9     ovs_checksum: sha256:307b20aba6a179bf13e5da9ac242933c31349073762473a9d4782619c8c1cf0c
10
11   pre_tasks:
12     - include_role: name=lfit.system-update
13
14   tasks:
15     - name: 'Install OpenVSwitch {{ovs_version}}'
16       block:
17         - name: 'Install dependencies required for OpenVSwitch {{ovs_version}}'
18           apt: 'name={{item}} state=present'
19           with_items:
20             - dh-autoreconf
21             - debhelper
22             - autoconf
23             - automake
24             - libssl-dev
25             - pkg-config
26             - bzip2
27             - openssl
28             - python-all
29             - procps
30             - python-qt4
31             - python-zopeinterface
32             - python-twisted-conch
33           become: true
34         - name: Create OVS root
35           file:
36             path: /tmp/ovs
37             state: directory
38             mode: 0755
39         - name: 'Fetch OpenVSwitch {{ovs_version}} to /tmp'
40           get_url:
41             url: 'http://openvswitch.org/releases/openvswitch-2.6.1.tar.gz'
42             dest: '/tmp/openvswitch-2.6.1.tar.gz'
43             checksum: '{{ovs_checksum}}'
44         - name: 'Unarchive OpenVSwitch {{ovs_version}}'
45           unarchive:
46             src: '/tmp/openvswitch-{{ovs_version}}.tar.gz'
47             dest: /tmp/ovs
48             remote_src: true
49         - name: 'Build OpenVSwitch {{ovs_version}}'
50           shell: DEB_BUILD_OPTIONS='parallel=8 nocheck' fakeroot debian/rules binary
51           args:
52             chdir: '/tmp/ovs/openvswitch-{{ovs_version}}'
53         - name: 'Install OpenVSwitch {{ovs_version}}'
54           apt: 'deb={{item}}'
55           with_items:
56             - /tmp/ovs/openvswitch-common_2.6.1-1_amd64.deb
57             - /tmp/ovs/openvswitch-switch_2.6.1-1_amd64.deb
58             - /tmp/ovs/python-openvswitch_2.6.1-1_all.deb
59             - /tmp/ovs/openvswitch-vtep_2.6.1-1_amd64.deb
60           become: true
61         - name: Enable openvswitch-switch service
62           systemd:
63             name: openvswitch-switch
64             enabled: true
65             masked: false
66           become: true
67         - name: Enable openvswitch-vtep service
68           systemd:
69             name: openvswitch-vtep
70             enabled: true
71             masked: false
72           become: true
73
74     - name: Install Mininet
75       apt: name=mininet state=present
76       become: true
77
78     - name: Install exabgp
79       apt: name=exabgp state=present
80       become: true
81
82     - name: Install vlan for vlan based tests in VTN suites
83       apt: name=vlan state=present
84       become: true
85
86     - name: Install python-netaddr for custom mininet topologies
87       apt: name=python-netaddr state=present
88       become: true
89
90   post_tasks:
91     - name: System Reseal
92       script: ../common-packer/provision/system-reseal.sh
93       become: true