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