diff options
-rw-r--r-- | common/vm-install.yml | 27 | ||||
-rw-r--r-- | inventory/host_vars/emc-master.yml | 20 | ||||
-rw-r--r-- | inventory/host_vars/emc-stats.yml | 20 | ||||
-rw-r--r-- | inventory/host_vars/emc-test.yml | 29 | ||||
-rw-r--r-- | inventory/host_vars/sk2016.yml | 1 | ||||
-rw-r--r-- | inventory/hosts.ini | 2 | ||||
-rw-r--r-- | spreadspace/calypso.yml (renamed from host_playbooks/calypso.yml) | 0 | ||||
-rw-r--r-- | spreadspace/dione.yml (renamed from host_playbooks/dione.yml) | 0 | ||||
-rw-r--r-- | spreadspace/emc-master.yml (renamed from host_playbooks/emc-master.yml) | 2 | ||||
-rw-r--r-- | spreadspace/emc-stats.yml (renamed from host_playbooks/emc-stats.yml) | 2 | ||||
-rw-r--r-- | spreadspace/emc-test.yml (renamed from host_playbooks/emc-test.yml) | 3 | ||||
-rw-r--r-- | spreadspace/emc-xx.yml (renamed from host_playbooks/emc-xx.yml) | 0 | ||||
-rw-r--r-- | spreadspace/helene.yml (renamed from host_playbooks/helene.yml) | 0 | ||||
-rw-r--r-- | spreadspace/telesto.yml (renamed from host_playbooks/telesto.yml) | 0 | ||||
-rw-r--r-- | spreadspace/thetys.yml (renamed from host_playbooks/thetys.yml) | 0 | ||||
-rwxr-xr-x | vm-install.sh | 4 |
16 files changed, 71 insertions, 39 deletions
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/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/host_playbooks/calypso.yml b/spreadspace/calypso.yml index cd6a9ac0..cd6a9ac0 100644 --- a/host_playbooks/calypso.yml +++ b/spreadspace/calypso.yml diff --git a/host_playbooks/dione.yml b/spreadspace/dione.yml index 70b6a077..70b6a077 100644 --- a/host_playbooks/dione.yml +++ b/spreadspace/dione.yml diff --git a/host_playbooks/emc-master.yml b/spreadspace/emc-master.yml index 9709409e..b12e8004 100644 --- a/host_playbooks/emc-master.yml +++ b/spreadspace/emc-master.yml @@ -4,6 +4,4 @@ roles: - role: base - role: sshserver - - role: vm/grub -# - role: vm/network - role: zsh diff --git a/host_playbooks/emc-stats.yml b/spreadspace/emc-stats.yml index d11b5b15..767b58aa 100644 --- a/host_playbooks/emc-stats.yml +++ b/spreadspace/emc-stats.yml @@ -4,7 +4,5 @@ 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/spreadspace/emc-test.yml index e3c6c997..a8805fc7 100644 --- a/host_playbooks/emc-test.yml +++ b/spreadspace/emc-test.yml @@ -2,9 +2,6 @@ - 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/spreadspace/emc-xx.yml index e2005178..e2005178 100644 --- a/host_playbooks/emc-xx.yml +++ b/spreadspace/emc-xx.yml diff --git a/host_playbooks/helene.yml b/spreadspace/helene.yml index d3619d9d..d3619d9d 100644 --- a/host_playbooks/helene.yml +++ b/spreadspace/helene.yml diff --git a/host_playbooks/telesto.yml b/spreadspace/telesto.yml index 11b45596..11b45596 100644 --- a/host_playbooks/telesto.yml +++ b/spreadspace/telesto.yml diff --git a/host_playbooks/thetys.yml b/spreadspace/thetys.yml index fffeb769..fffeb769 100644 --- a/host_playbooks/thetys.yml +++ b/spreadspace/thetys.yml 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 <vm> <distro> <codename>" + echo "$0 <hostname> <distro> <codename>" 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" |