diff options
Diffstat (limited to 'roles/vm/host')
-rw-r--r-- | roles/vm/host/defaults/main.yml | 7 | ||||
-rw-r--r-- | roles/vm/host/handlers/main.yml | 5 | ||||
-rw-r--r-- | roles/vm/host/tasks/main.yml | 54 |
3 files changed, 66 insertions, 0 deletions
diff --git a/roles/vm/host/defaults/main.yml b/roles/vm/host/defaults/main.yml new file mode 100644 index 00000000..0e3cddf1 --- /dev/null +++ b/roles/vm/host/defaults/main.yml @@ -0,0 +1,7 @@ +--- +vm_host_force_download_installer: False +vm_host_installer_url: + # debian: "{{ debian_mirror.packages | default('http://deb.debian.org/debian') }}" + # ubuntu: "{{ ubuntu_mirror | default('http://archive.ubuntu.com/ubuntu') }}" + debian: "http://deb.debian.org/debian" + ubuntu: "http://archive.ubuntu.com/ubuntu" diff --git a/roles/vm/host/handlers/main.yml b/roles/vm/host/handlers/main.yml new file mode 100644 index 00000000..158f4dcd --- /dev/null +++ b/roles/vm/host/handlers/main.yml @@ -0,0 +1,5 @@ +--- +- name: restart inetd + service: + name: openbsd-inetd + state: restarted diff --git a/roles/vm/host/tasks/main.yml b/roles/vm/host/tasks/main.yml new file mode 100644 index 00000000..a5e98fa9 --- /dev/null +++ b/roles/vm/host/tasks/main.yml @@ -0,0 +1,54 @@ +--- +- name: install tftpd and python-libvirt + with_items: + - atftpd + - openbsd-inetd + - qemu-kvm + - libvirt-bin + - python-libvirt + apt: + name: "{{ item }}" + state: present + +- name: configure tftpd via inetd + lineinfile: + regexp: "^#?({{ vm_host.network.ip }}:)?tftp" + line: "{{ vm_host.network.ip }}:tftp dgram udp4 wait nobody /usr/sbin/tcpd /usr/sbin/in.tftpd --tftpd-timeout 300 --retry-timeout 5 --maxthread 10 --verbose=5 {{ vm_host.installer.preseed_path }}" + path: /etc/inetd.conf + notify: restart inetd + +- name: make sure installer directories exists + with_items: + - "{{ vm_host.installer.path }}" + - "{{ vm_host.installer.preseed_path }}" + file: + name: "{{ item }}" + state: directory + +- name: prepare directories for installer images + with_subelements: + - "{{ vm_host.installer.distros }}" + - arch + file: + name: "{{ vm_host.installer.path }}/{{ item.0.distro }}-{{ item.0.codename }}/{{ item.1 }}" + state: directory + +- name: download installer kernel images + with_subelements: + - "{{ vm_host.installer.distros }}" + - arch + get_url: + url: "{{ vm_host_installer_url[item.0.distro] }}/dists/{{ item.0.codename }}/main/installer-{{ item.1 }}/current/images/netboot/{{ item.0.distro }}-installer/{{ item.1 }}/linux" + dest: "{{ vm_host.installer.path }}/{{ item.0.distro }}-{{ item.0.codename }}/{{ item.1 }}/linux" + mode: 0644 + force: "{{ vm_host_force_download_installer }}" + +- name: download installer initrd.gz + with_subelements: + - "{{ vm_host.installer.distros }}" + - arch + get_url: + url: "{{ vm_host_installer_url[item.0.distro] }}/dists/{{ item.0.codename }}/main/installer-{{ item.1 }}/current/images/netboot/{{ item.0.distro }}-installer/{{ item.1 }}/initrd.gz" + dest: "{{ vm_host.installer.path }}/{{ item.0.distro }}-{{ item.0.codename }}/{{ item.1 }}/initrd.gz" + mode: 0644 + force: "{{ vm_host_force_download_installer }}" |