Adding libguestfs-tools as dependency
[apex.git] / lib / ansible / playbooks / deploy_dependencies.yml
1 ---
2 - hosts: localhost
3   tasks:
4     - yum:
5         name: "{{ item }}"
6         state: present
7       with_items:
8         - python-lxml
9         - libvirt-python
10         - libguestfs-tools
11     - sysctl:
12         name: net.ipv4.ip_forward
13         state: present
14         value: 1
15         sysctl_set: yes
16     - systemd:
17         name: dhcpd
18         state: stopped
19         enabled: no
20       ignore_errors: yes
21     - systemd:
22         name: libvirtd
23         state: started
24         enabled: yes
25     - systemd:
26         name: openvswitch
27         state: started
28         enabled: yes
29     - virt_net:
30         command: define
31         name: default
32         xml: '{{ lookup("template", "virsh_network_default.xml.j2") }}'
33         state: active
34         autostart: yes
35     - openvswitch_bridge:
36         bridge: 'br-{{ item }}'
37         state: present
38       with_items: '{{ virsh_enabled_networks }}'
39     - virt_net:
40         state: present
41         name: '{{ item }}'
42         xml: '{{ lookup("template", "virsh_network_ovs.xml.j2") }}'
43       with_items: '{{ virsh_enabled_networks }}'
44     - virt_net:
45         state: active
46         name: '{{ item }}'
47         autostart: yes
48       with_items: '{{ virsh_enabled_networks }}'
49     - virt_pool:
50         name: default
51         autostart: yes
52         state: present
53         xml: '{{ lookup("template", "virsh_pool.xml.j2") }}'
54     - virt_pool:
55         name: default
56         autostart: yes
57         state: active
58     - shell: cat /sys/module/kvm_intel/parameters/nested || true
59       register: nested_result
60       when: ansible_architecture == "x86_64"
61     - name: reload kvm_intel
62       block:
63         - lineinfile:
64             path: /etc/modprobe.d/kvm_intel.conf
65             line: 'options kvm-intel nested=1'
66             create: yes
67         - modprobe:
68             name: kvm_intel
69             state: absent
70         - modprobe:
71             name: kvm_intel
72             state: present
73       when:
74         - ansible_architecture == "x86_64"
75         - "'Y' not in nested_result.stdout"
76     - name: Generate SSH key for root if missing
77       shell: test -e ~/.ssh/id_rsa || ssh-keygen -t rsa -N "" -f ~/.ssh/id_rsa
78     - name: Check that /u/l/python3.4/site-packages/virtualbmc/vbmc.py exists
79       stat:
80         path: /usr/lib/python3.4/site-packages/virtualbmc/vbmc.py
81       register: vbmc_py
82     - name: Manually patch vmbc to work with python3.x
83       lineinfile:
84         line: "                conn.defineXML(ET.tostring(tree, encoding='unicode'))"
85         regexp: "tostring"
86         path: /usr/lib/python3.4/site-packages/virtualbmc/vbmc.py
87       when: vbmc_py.stat.exists == True
88     - name: Add ssh retry to Ansible config
89       ini_file:
90         path: /etc/ansible/ansible.cfg
91         section: ssh_connection
92         option: retries
93         value: 5