--- - hosts: localhost tasks: - yum: name: "{{ item }}" state: present with_items: - python-lxml - libvirt-python - libguestfs-tools - python-netaddr - python2-pip when: ansible_distribution == 'CentOS' - dnf: name: "{{ item }}" state: present with_items: - libselinux-python - python-lxml - libvirt-python - libguestfs-tools - python-netaddr - python2-pip when: ansible_distribution == 'Fedora' - pip: name: ansible-modules-hashivault,hvac,Jinja2 state: latest executable: pip2 when: not snapshot - 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 when: not snapshot - openvswitch_bridge: bridge: 'br-{{ item }}' state: present with_items: '{{ virsh_enabled_networks }}' - name: 'Configure IP on bridge' shell: 'ip addr add 192.0.2.99/24 dev br-{{ item }}' with_items: '{{ virsh_enabled_networks }}' when: snapshot - name: 'Bring up bridge' shell: 'ip link set up br-{{ item }}' with_items: '{{ virsh_enabled_networks }}' when: snapshot - virt_net: state: present name: '{{ item }}' xml: '{{ lookup("template", "virsh_network_ovs.xml.j2") }}' with_items: '{{ virsh_enabled_networks }}' when: not snapshot - virt_net: state: active name: '{{ item }}' autostart: yes with_items: '{{ virsh_enabled_networks }}' when: not snapshot - 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" - modprobe: name: ip6_tables state: present - modprobe: name: ip_tables state: present - name: Generate SSH key for root if missing shell: test -e ~/.ssh/id_rsa || ssh-keygen -t rsa -N "" -f ~/.ssh/id_rsa when: not snapshot - 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 when: not snapshot - 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 when: not snapshot - name: Add ssh retry to Ansible config ini_file: path: /etc/ansible/ansible.cfg section: ssh_connection option: retries value: 5