From 14c69ac3f074d7cea31687ecc105c015b8a55ec7 Mon Sep 17 00:00:00 2001 From: Christian Pointner Date: Sun, 9 Dec 2018 00:56:13 +0100 Subject: cleanup and imrpovement of vm roles (still not working) --- common/vm-install.yml | 27 ++++++++++++++++++--------- host_playbooks/calypso.yml | 10 ---------- host_playbooks/dione.yml | 9 --------- host_playbooks/emc-master.yml | 9 --------- host_playbooks/emc-stats.yml | 10 ---------- host_playbooks/emc-test.yml | 10 ---------- host_playbooks/emc-xx.yml | 9 --------- host_playbooks/helene.yml | 10 ---------- host_playbooks/telesto.yml | 9 --------- host_playbooks/thetys.yml | 10 ---------- inventory/host_vars/emc-master.yml | 20 ++++++++++---------- inventory/host_vars/emc-stats.yml | 20 ++++++++++---------- inventory/host_vars/emc-test.yml | 29 +++++++++++++++++++++++++++++ inventory/host_vars/sk2016.yml | 1 + inventory/hosts.ini | 2 +- spreadspace/calypso.yml | 10 ++++++++++ spreadspace/dione.yml | 9 +++++++++ spreadspace/emc-master.yml | 7 +++++++ spreadspace/emc-stats.yml | 8 ++++++++ spreadspace/emc-test.yml | 7 +++++++ spreadspace/emc-xx.yml | 9 +++++++++ spreadspace/helene.yml | 10 ++++++++++ spreadspace/telesto.yml | 9 +++++++++ spreadspace/thetys.yml | 10 ++++++++++ vm-install.sh | 4 ++-- 25 files changed, 150 insertions(+), 118 deletions(-) delete mode 100644 host_playbooks/calypso.yml delete mode 100644 host_playbooks/dione.yml delete mode 100644 host_playbooks/emc-master.yml delete mode 100644 host_playbooks/emc-stats.yml delete mode 100644 host_playbooks/emc-test.yml delete mode 100644 host_playbooks/emc-xx.yml delete mode 100644 host_playbooks/helene.yml delete mode 100644 host_playbooks/telesto.yml delete mode 100644 host_playbooks/thetys.yml create mode 100644 inventory/host_vars/emc-test.yml create mode 100644 spreadspace/calypso.yml create mode 100644 spreadspace/dione.yml create mode 100644 spreadspace/emc-master.yml create mode 100644 spreadspace/emc-stats.yml create mode 100644 spreadspace/emc-test.yml create mode 100644 spreadspace/emc-xx.yml create mode 100644 spreadspace/helene.yml create mode 100644 spreadspace/telesto.yml create mode 100644 spreadspace/thetys.yml diff --git a/common/vm-install.yml b/common/vm-install.yml index a6faf827..5cc2a1c3 100644 --- a/common/vm-install.yml +++ b/common/vm-install.yml @@ -1,16 +1,16 @@ --- - name: preperations and sanity checks - hosts: "{{ vmname }}" + hosts: "{{ hostname }}" gather_facts: no tasks: - name: setup variables set_fact: - vm_network_cooked: "{{ vm_network }}" - vm_install_cooked: "{{ vm_install }}" + network_cooked: "{{ network }}" + install_cooked: "{{ install }}" - name: create temporary host group for vm host add_host: - name: "{{ vm_install.host }}" - inventory_dir: "{{inventory_dir}}" + name: "{{ vm_host }}" + inventory_dir: "{{ inventory_dir }}" group: _vmhost_ # TODO: add some sanity checks @@ -20,7 +20,7 @@ - role: vm/install - name: wait for new vm to start up - hosts: "{{ vmname }}" + hosts: "{{ hostname }}" gather_facts: no tasks: ## TODO: find a better way to fetch host key of new VMs @@ -35,11 +35,20 @@ set_fact: ansible_ssh_extra_args: "" -### TODO: fix path to host_playbook -##- import_playbook: "host_playbooks/{{ vmname }}.yml" +- name: Apply VM configuration roles + hosts: "{{ hostname }}" + pre_tasks: + - name: make sure to update cached facts + setup: + roles: + - role: vm/grub + - role: vm/network + - role: vm/guest + +- import_playbook: "../{{ hostenv }}/{{ hostname }}.yml" - name: reboot and wait for VM come back - hosts: "{{ vmname }}" + hosts: "{{ hostname }}" gather_facts: no roles: - role: reboot-and-wait diff --git a/host_playbooks/calypso.yml b/host_playbooks/calypso.yml deleted file mode 100644 index cd6a9ac0..00000000 --- a/host_playbooks/calypso.yml +++ /dev/null @@ -1,10 +0,0 @@ ---- -- name: Basic Setup - hosts: calypso - roles: - - role: base - - role: sshserver - - role: zsh - - role: admin-user - - role: blackmagic-desktopvideo - - role: spreadspace-apt-repo diff --git a/host_playbooks/dione.yml b/host_playbooks/dione.yml deleted file mode 100644 index 70b6a077..00000000 --- a/host_playbooks/dione.yml +++ /dev/null @@ -1,9 +0,0 @@ ---- -- name: Basic Setup - hosts: dione - roles: - - role: base - - role: sshserver - - role: zsh - - role: admin-user - - role: blackmagic-desktopvideo diff --git a/host_playbooks/emc-master.yml b/host_playbooks/emc-master.yml deleted file mode 100644 index 9709409e..00000000 --- a/host_playbooks/emc-master.yml +++ /dev/null @@ -1,9 +0,0 @@ ---- -- name: Basic Setup - hosts: emc-master - roles: - - role: base - - role: sshserver - - role: vm/grub -# - role: vm/network - - role: zsh diff --git a/host_playbooks/emc-stats.yml b/host_playbooks/emc-stats.yml deleted file mode 100644 index d11b5b15..00000000 --- a/host_playbooks/emc-stats.yml +++ /dev/null @@ -1,10 +0,0 @@ ---- -- name: Basic Setup - hosts: emc-stats - roles: - - role: base - - role: sshserver - - role: vm/grub -# - role: vm/network - - role: zsh - - role: emc-stats diff --git a/host_playbooks/emc-test.yml b/host_playbooks/emc-test.yml deleted file mode 100644 index e3c6c997..00000000 --- a/host_playbooks/emc-test.yml +++ /dev/null @@ -1,10 +0,0 @@ ---- -- name: Basic Setup - hosts: emc-test - roles: - - role: scaleway-slim - - role: base - - role: sshserver - - role: zsh - - role: admin-user - - role: wireguard diff --git a/host_playbooks/emc-xx.yml b/host_playbooks/emc-xx.yml deleted file mode 100644 index e2005178..00000000 --- a/host_playbooks/emc-xx.yml +++ /dev/null @@ -1,9 +0,0 @@ ---- -- name: Basic Setup - hosts: emc-xx - roles: - - role: hetzner-slim - - role: base - - role: sshserver - - role: zsh - - role: admin-user diff --git a/host_playbooks/helene.yml b/host_playbooks/helene.yml deleted file mode 100644 index d3619d9d..00000000 --- a/host_playbooks/helene.yml +++ /dev/null @@ -1,10 +0,0 @@ ---- -- name: Basic Setup - hosts: helene - roles: - - role: base - - role: sshserver - - role: zsh - - role: admin-user - - role: blackmagic-desktopvideo - - role: acmetool/base diff --git a/host_playbooks/telesto.yml b/host_playbooks/telesto.yml deleted file mode 100644 index 11b45596..00000000 --- a/host_playbooks/telesto.yml +++ /dev/null @@ -1,9 +0,0 @@ ---- -- name: Basic Setup - hosts: telesto - roles: - - role: base - - role: sshserver - - role: zsh - - role: admin-user - - role: blackmagic-desktopvideo diff --git a/host_playbooks/thetys.yml b/host_playbooks/thetys.yml deleted file mode 100644 index fffeb769..00000000 --- a/host_playbooks/thetys.yml +++ /dev/null @@ -1,10 +0,0 @@ ---- -- name: Basic Setup - hosts: thetys - roles: - - role: base - - role: sshserver - - role: zsh - - role: admin-user - - role: blackmagic-desktopvideo - - role: spreadspace-apt-repo diff --git a/inventory/host_vars/emc-master.yml b/inventory/host_vars/emc-master.yml index 95b3062a..2a2de27f 100644 --- a/inventory/host_vars/emc-master.yml +++ b/inventory/host_vars/emc-master.yml @@ -1,8 +1,8 @@ --- -vm_install_host: sk2013 +vm_host: sk2013 -vm_install: - host: "{{ vm_install_host }}" +install: + host: "{{ vm_host }}" mem: 1024 numcpu: 2 disks: @@ -13,20 +13,20 @@ vm_install: lv: "{{ inventory_hostname }}" size: 42g interfaces: - - bridge: "{{ hostvars[vm_install_host].vm_host.network.interface }}" + - bridge: "{{ hostvars[vm_host].vm_host.network.interface }}" name: primary0 autostart: True -vm_network: - nameservers: "{{ hostvars[vm_install_host].vm_host.network.nameservers }}" +network: + nameservers: "{{ hostvars[vm_host].vm_host.network.nameservers }}" domain: spreadspace.org systemd_link: - interfaces: "{{ vm_install.interfaces }}" + interfaces: "{{ install.interfaces }}" primary: interface: primary0 - ip: "{{ (hostvars[vm_install_host].vm_host.network.ip+'/'+hostvars[vm_install_host].vm_host.network.mask) | ipaddr(hostvars[vm_install_host].vm_host.network.indices[inventory_hostname]) | ipaddr('address') }}" - mask: "{{ hostvars[vm_install_host].vm_host.network.mask }}" - gateway: "{{ hostvars[vm_install_host].vm_host.network.gateway | default(hostvars[vm_install_host].vm_host.network.ip) }}" + ip: "{{ (hostvars[vm_host].vm_host.network.ip+'/'+hostvars[vm_host].vm_host.network.mask) | ipaddr(hostvars[vm_host].vm_host.network.indices[inventory_hostname]) | ipaddr('address') }}" + mask: "{{ hostvars[vm_host].vm_host.network.mask }}" + gateway: "{{ hostvars[vm_host].vm_host.network.gateway | default(hostvars[vm_host].vm_host.network.ip) }}" docker_lvm: vg: "{{ inventory_hostname }}" diff --git a/inventory/host_vars/emc-stats.yml b/inventory/host_vars/emc-stats.yml index 89352b4f..0bd53559 100644 --- a/inventory/host_vars/emc-stats.yml +++ b/inventory/host_vars/emc-stats.yml @@ -1,8 +1,8 @@ --- -vm_install_host: sk2016 +vm_host: sk2016 -vm_install: - host: "{{ vm_install_host }}" +install: + host: "{{ vm_host }}" mem: 8192 numcpu: 6 disks: @@ -17,20 +17,20 @@ vm_install: lv: "{{ inventory_hostname }}-data" size: 100g interfaces: - - bridge: "{{ hostvars[vm_install_host].vm_host.network.interface }}" + - bridge: "{{ hostvars[vm_host].vm_host.network.interface }}" name: primary0 autostart: True -vm_network: - nameservers: "{{ hostvars[vm_install_host].vm_host.network.nameservers }}" +network: + nameservers: "{{ hostvars[vm_host].vm_host.network.nameservers }}" domain: spreadspace.org systemd_link: - interfaces: "{{ vm_install.interfaces }}" + interfaces: "{{ install.interfaces }}" primary: interface: primary0 - ip: "{{ (hostvars[vm_install_host].vm_host.network.ip+'/'+hostvars[vm_install_host].vm_host.network.mask) | ipaddr(hostvars[vm_install_host].vm_host.network.indices[inventory_hostname]) | ipaddr('address') }}" - mask: "{{ hostvars[vm_install_host].vm_host.network.mask }}" - gateway: "{{ hostvars[vm_install_host].vm_host.network.gateway | default(hostvars[vm_install_host].vm_host.network.ip) }}" + ip: "{{ (hostvars[vm_host].vm_host.network.ip+'/'+hostvars[vm_host].vm_host.network.mask) | ipaddr(hostvars[vm_host].vm_host.network.indices[inventory_hostname]) | ipaddr('address') }}" + mask: "{{ hostvars[vm_host].vm_host.network.mask }}" + gateway: "{{ hostvars[vm_host].vm_host.network.gateway | default(hostvars[vm_host].vm_host.network.ip) }}" docker_lvm: vg: "{{ inventory_hostname }}" diff --git a/inventory/host_vars/emc-test.yml b/inventory/host_vars/emc-test.yml new file mode 100644 index 00000000..9b556df0 --- /dev/null +++ b/inventory/host_vars/emc-test.yml @@ -0,0 +1,29 @@ +--- +vm_host: sk2016 + +install: + host: "{{ vm_host }}" + mem: 1024 + numcpu: 2 + disks: + primary: vda + virtio: + vda: + vg: storage + lv: "{{ inventory_hostname }}" + size: 10g + interfaces: + - bridge: "{{ hostvars[vm_host].vm_host.network.interface }}" + name: primary0 + autostart: True + +network: + nameservers: "{{ hostvars[vm_host].vm_host.network.nameservers }}" + domain: spreadspace.org + systemd_link: + interfaces: "{{ install.interfaces }}" + primary: + interface: primary0 + ip: "{{ (hostvars[vm_host].vm_host.network.ip+'/'+hostvars[vm_host].vm_host.network.mask) | ipaddr(hostvars[vm_host].vm_host.network.indices[inventory_hostname]) | ipaddr('address') }}" + mask: "{{ hostvars[vm_host].vm_host.network.mask }}" + gateway: "{{ hostvars[vm_host].vm_host.network.gateway | default(hostvars[vm_host].vm_host.network.ip) }}" diff --git a/inventory/host_vars/sk2016.yml b/inventory/host_vars/sk2016.yml index f8371cea..73e59d75 100644 --- a/inventory/host_vars/sk2016.yml +++ b/inventory/host_vars/sk2016.yml @@ -17,3 +17,4 @@ vm_host: - 213.133.99.99 indices: emc-stats: 200 + emc-test: 201 diff --git a/inventory/hosts.ini b/inventory/hosts.ini index 5586ab3d..6b1461de 100644 --- a/inventory/hosts.ini +++ b/inventory/hosts.ini @@ -38,7 +38,6 @@ telesto thetys dione helene -emc-test [emc:vars] @@ -48,6 +47,7 @@ env_group=spreadspace [emc] emc-stats emc-master +emc-test [emc:children] emc-xx diff --git a/spreadspace/calypso.yml b/spreadspace/calypso.yml new file mode 100644 index 00000000..cd6a9ac0 --- /dev/null +++ b/spreadspace/calypso.yml @@ -0,0 +1,10 @@ +--- +- name: Basic Setup + hosts: calypso + roles: + - role: base + - role: sshserver + - role: zsh + - role: admin-user + - role: blackmagic-desktopvideo + - role: spreadspace-apt-repo diff --git a/spreadspace/dione.yml b/spreadspace/dione.yml new file mode 100644 index 00000000..70b6a077 --- /dev/null +++ b/spreadspace/dione.yml @@ -0,0 +1,9 @@ +--- +- name: Basic Setup + hosts: dione + roles: + - role: base + - role: sshserver + - role: zsh + - role: admin-user + - role: blackmagic-desktopvideo diff --git a/spreadspace/emc-master.yml b/spreadspace/emc-master.yml new file mode 100644 index 00000000..b12e8004 --- /dev/null +++ b/spreadspace/emc-master.yml @@ -0,0 +1,7 @@ +--- +- name: Basic Setup + hosts: emc-master + roles: + - role: base + - role: sshserver + - role: zsh diff --git a/spreadspace/emc-stats.yml b/spreadspace/emc-stats.yml new file mode 100644 index 00000000..767b58aa --- /dev/null +++ b/spreadspace/emc-stats.yml @@ -0,0 +1,8 @@ +--- +- name: Basic Setup + hosts: emc-stats + roles: + - role: base + - role: sshserver + - role: zsh + - role: emc-stats diff --git a/spreadspace/emc-test.yml b/spreadspace/emc-test.yml new file mode 100644 index 00000000..a8805fc7 --- /dev/null +++ b/spreadspace/emc-test.yml @@ -0,0 +1,7 @@ +--- +- name: Basic Setup + hosts: emc-test + roles: + - role: base + - role: sshserver + - role: zsh diff --git a/spreadspace/emc-xx.yml b/spreadspace/emc-xx.yml new file mode 100644 index 00000000..e2005178 --- /dev/null +++ b/spreadspace/emc-xx.yml @@ -0,0 +1,9 @@ +--- +- name: Basic Setup + hosts: emc-xx + roles: + - role: hetzner-slim + - role: base + - role: sshserver + - role: zsh + - role: admin-user diff --git a/spreadspace/helene.yml b/spreadspace/helene.yml new file mode 100644 index 00000000..d3619d9d --- /dev/null +++ b/spreadspace/helene.yml @@ -0,0 +1,10 @@ +--- +- name: Basic Setup + hosts: helene + roles: + - role: base + - role: sshserver + - role: zsh + - role: admin-user + - role: blackmagic-desktopvideo + - role: acmetool/base diff --git a/spreadspace/telesto.yml b/spreadspace/telesto.yml new file mode 100644 index 00000000..11b45596 --- /dev/null +++ b/spreadspace/telesto.yml @@ -0,0 +1,9 @@ +--- +- name: Basic Setup + hosts: telesto + roles: + - role: base + - role: sshserver + - role: zsh + - role: admin-user + - role: blackmagic-desktopvideo diff --git a/spreadspace/thetys.yml b/spreadspace/thetys.yml new file mode 100644 index 00000000..fffeb769 --- /dev/null +++ b/spreadspace/thetys.yml @@ -0,0 +1,10 @@ +--- +- name: Basic Setup + hosts: thetys + roles: + - role: base + - role: sshserver + - role: zsh + - role: admin-user + - role: blackmagic-desktopvideo + - role: spreadspace-apt-repo diff --git a/vm-install.sh b/vm-install.sh index 933992cb..e8893efa 100755 --- a/vm-install.sh +++ b/vm-install.sh @@ -1,7 +1,7 @@ #!/bin/bash if [ -z "$1" ] || [ -z "$2" ] || [ -z "$3" ]; then - echo "$0 " + echo "$0 " exit 1 fi name=$1 @@ -24,4 +24,4 @@ echo "########## clearing old ssh host keys #########" echo "" echo "######## running the install playbook ########" -exec ansible-playbook -e "vmname=$name" -e "vmdistro=$distro" -e "vmdistcodename=$codename" $@ "$env_group/vm-install.yml" +exec ansible-playbook -e "hostname=$name" -e "install_distro=$distro" -e "install_codename=$codename" -e "hostenv=$env_group" $@ "$env_group/vm-install.yml" -- cgit v1.2.3