summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristian Pointner <equinox@spreadspace.org>2018-12-09 00:56:13 +0100
committerChristian Pointner <equinox@spreadspace.org>2018-12-09 00:56:13 +0100
commit14c69ac3f074d7cea31687ecc105c015b8a55ec7 (patch)
tree6c2ffd64728bd632e46d04e699cd3bd3ec61f894
parentimprovments for preseed role (diff)
cleanup and imrpovement of vm roles (still not working)
-rw-r--r--common/vm-install.yml27
-rw-r--r--inventory/host_vars/emc-master.yml20
-rw-r--r--inventory/host_vars/emc-stats.yml20
-rw-r--r--inventory/host_vars/emc-test.yml29
-rw-r--r--inventory/host_vars/sk2016.yml1
-rw-r--r--inventory/hosts.ini2
-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-xvm-install.sh4
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"