summaryrefslogtreecommitdiff
path: root/roles
diff options
context:
space:
mode:
authorChristian Pointner <equinox@spreadspace.org>2019-09-08 00:20:46 +0200
committerChristian Pointner <equinox@spreadspace.org>2019-09-08 00:20:46 +0200
commitd4dd2f186ea9c5977ea66d3fcc13da8f1553b9d3 (patch)
tree390bafa38d0e7a3864da121aa43b5ca7aa4bd719 /roles
parentdon't autostart testvm (diff)
major refactoring for cloud install
Diffstat (limited to 'roles')
-rw-r--r--roles/cloud-install/defaults/main.yml3
-rw-r--r--roles/cloud-install/tasks/main.yml8
-rw-r--r--roles/cloud/install/filter_plugins/hroot.py (renamed from roles/cloud-install/filter_plugins/hroot.py)0
-rw-r--r--roles/cloud/install/tasks/hcloud.yml (renamed from roles/cloud-install/tasks/install_hcloud.yml)23
-rw-r--r--roles/cloud/install/tasks/hetzner_installimage.yml (renamed from roles/cloud-install/tasks/hetzner_installimage.yml)0
-rw-r--r--roles/cloud/install/tasks/hroot.yml (renamed from roles/cloud-install/tasks/install_hroot.yml)35
-rw-r--r--roles/cloud/install/tasks/main.yml2
-rw-r--r--roles/cloud/install/templates/hetzner_installimage.conf.j2 (renamed from roles/cloud-install/templates/hetzner_installimage.conf.j2)12
-rw-r--r--roles/cloud/install/templates/hetzner_postinst.sh.j2 (renamed from roles/cloud-install/templates/hetzner_postinst.sh.j2)2
-rw-r--r--roles/cloud/post-install/tasks/hcloud.yml (renamed from roles/cloud-install/tasks/post_hcloud.yml)0
-rw-r--r--roles/cloud/post-install/tasks/hroot.yml2
-rw-r--r--roles/cloud/post-install/tasks/main.yml2
12 files changed, 28 insertions, 61 deletions
diff --git a/roles/cloud-install/defaults/main.yml b/roles/cloud-install/defaults/main.yml
deleted file mode 100644
index 75e47612..00000000
--- a/roles/cloud-install/defaults/main.yml
+++ /dev/null
@@ -1,3 +0,0 @@
----
-hetzner_disk_setup: "{% if cloud_provider == 'hroot' %}nvme_raid{% elif cloud_provider == 'hcloud' %}hcloud{% endif %}"
-hetzner_root_lvm_size: all
diff --git a/roles/cloud-install/tasks/main.yml b/roles/cloud-install/tasks/main.yml
deleted file mode 100644
index 6d9eb96e..00000000
--- a/roles/cloud-install/tasks/main.yml
+++ /dev/null
@@ -1,8 +0,0 @@
----
-- include_tasks: "install_{{ cloud_provider }}.yml"
-
-- name: force facts cache to get updated
- setup:
-
-- when: lookup('first_found', ['post_' + cloud_provider + '.yml'], errors='ignore')
- include_tasks: "post_{{ cloud_provider }}.yml"
diff --git a/roles/cloud-install/filter_plugins/hroot.py b/roles/cloud/install/filter_plugins/hroot.py
index d2abff1b..d2abff1b 100644
--- a/roles/cloud-install/filter_plugins/hroot.py
+++ b/roles/cloud/install/filter_plugins/hroot.py
diff --git a/roles/cloud-install/tasks/install_hcloud.yml b/roles/cloud/install/tasks/hcloud.yml
index 68e8db60..ca5435b8 100644
--- a/roles/cloud-install/tasks/install_hcloud.yml
+++ b/roles/cloud/install/tasks/hcloud.yml
@@ -4,7 +4,7 @@
url: "https://api.hetzner.cloud/v1/ssh_keys"
method: GET
headers:
- Authorization: "Bearer {{ hcloud_api_token }}"
+ Authorization: "Bearer {{ install_cooked.cloud_credentials.token }}"
status_code: 200
register: sshkeys
delegate_to: localhost
@@ -14,7 +14,7 @@
url: "https://api.hetzner.cloud/v1/servers?name={{ inventory_hostname }}"
method: GET
headers:
- Authorization: "Bearer {{ hcloud_api_token }}"
+ Authorization: "Bearer {{ install_cooked.cloud_credentials.token }}"
status_code: 200
register: serverstatus
delegate_to: localhost
@@ -33,7 +33,7 @@
method: POST
body: "{{ {'type': 'linux64', 'ssh_keys': (sshkeys.json.ssh_keys | map(attribute='id') | list) } | to_nice_json }}"
headers:
- Authorization: "Bearer {{ hcloud_api_token }}"
+ Authorization: "Bearer {{ install_cooked.cloud_credentials.token }}"
Content-Type: "application/json"
status_code: 201
delegate_to: localhost
@@ -43,7 +43,7 @@
url: "https://api.hetzner.cloud/v1/servers/{{ serverstatus.json.servers[0].id }}/actions/reset"
method: POST
headers:
- Authorization: "Bearer {{ hcloud_api_token }}"
+ Authorization: "Bearer {{ install_cooked.cloud_credentials.token }}"
status_code: 201
delegate_to: localhost
@@ -66,18 +66,3 @@
poll: 0
ignore_errors: True
changed_when: True
-
-### TODO: SSH host key handling needs to be improved
-- name: automatically accept new ssh host key
- set_fact:
- ansible_ssh_extra_args: "{{ old_ansible_ssh_extra_args }} -o StrictHostKeyChecking=no"
-
-- name: wait for host to start up
- wait_for_connection:
- delay: 15
- timeout: 120
-
-### TODO: SSH host key handling needs to be improved
-- name: re-enable ssh host key checking
- set_fact:
- ansible_ssh_extra_args: "{{ old_ansible_ssh_extra_args }}"
diff --git a/roles/cloud-install/tasks/hetzner_installimage.yml b/roles/cloud/install/tasks/hetzner_installimage.yml
index f54a785b..f54a785b 100644
--- a/roles/cloud-install/tasks/hetzner_installimage.yml
+++ b/roles/cloud/install/tasks/hetzner_installimage.yml
diff --git a/roles/cloud-install/tasks/install_hroot.yml b/roles/cloud/install/tasks/hroot.yml
index 6c57d874..606df5f6 100644
--- a/roles/cloud-install/tasks/install_hroot.yml
+++ b/roles/cloud/install/tasks/hroot.yml
@@ -3,8 +3,8 @@
uri:
url: "https://robot-ws.your-server.de/key"
method: GET
- user: "{{ hroot_robot_account.username }}"
- password: "{{ hroot_robot_account.password }}"
+ user: "{{ install_cooked.cloud_credentials.username }}"
+ password: "{{ install_cooked.cloud_credentials.password }}"
force_basic_auth: yes
status_code: 200
register: sshkeys
@@ -22,8 +22,8 @@
uri:
url: "https://robot-ws.your-server.de/server"
method: GET
- user: "{{ hroot_robot_account.username }}"
- password: "{{ hroot_robot_account.password }}"
+ user: "{{ install_cooked.cloud_credentials.username }}"
+ password: "{{ install_cooked.cloud_credentials.password }}"
force_basic_auth: yes
status_code: 200
register: servers
@@ -48,8 +48,8 @@
uri:
url: "https://robot-ws.your-server.de/boot/{{ hetzner_main_ip }}/rescue"
method: GET
- user: "{{ hroot_robot_account.username }}"
- password: "{{ hroot_robot_account.password }}"
+ user: "{{ install_cooked.cloud_credentials.username }}"
+ password: "{{ install_cooked.cloud_credentials.password }}"
force_basic_auth: yes
status_code: 200
register: rescuestatus
@@ -62,8 +62,8 @@
uri:
url: "https://robot-ws.your-server.de/boot/{{ hetzner_main_ip }}/rescue"
method: POST
- user: "{{ hroot_robot_account.username }}"
- password: "{{ hroot_robot_account.password }}"
+ user: "{{ install_cooked.cloud_credentials.username }}"
+ password: "{{ install_cooked.cloud_credentials.password }}"
force_basic_auth: yes
body: "os=linux&arch=64&authorized_key[]={{ sshkeys.json | hroot_extract_ssh_key_fingerprints | join('&authorized_key[]=') }}"
status_code: 200
@@ -79,8 +79,8 @@
uri:
url: "https://robot-ws.your-server.de/reset/{{ hetzner_main_ip }}"
method: POST
- user: "{{ hroot_robot_account.username }}"
- password: "{{ hroot_robot_account.password }}"
+ user: "{{ install_cooked.cloud_credentials.username }}"
+ password: "{{ install_cooked.cloud_credentials.password }}"
force_basic_auth: yes
body: "type=hw"
status_code: 200
@@ -107,18 +107,3 @@
poll: 0
ignore_errors: True
changed_when: True
-
-### TODO: SSH host key handling needs to be improved
-- name: automatically accept new ssh host key
- set_fact:
- ansible_ssh_extra_args: "{{ old_ansible_ssh_extra_args }} -o StrictHostKeyChecking=no"
-
-- name: wait for host to start up
- wait_for_connection:
- delay: 15
- timeout: 120
-
-### TODO: SSH host key handling needs to be improved
-- name: re-enable ssh host key checking
- set_fact:
- ansible_ssh_extra_args: "{{ old_ansible_ssh_extra_args }}"
diff --git a/roles/cloud/install/tasks/main.yml b/roles/cloud/install/tasks/main.yml
new file mode 100644
index 00000000..c5cc046f
--- /dev/null
+++ b/roles/cloud/install/tasks/main.yml
@@ -0,0 +1,2 @@
+---
+- include_tasks: "{{ cloud_provider }}.yml"
diff --git a/roles/cloud-install/templates/hetzner_installimage.conf.j2 b/roles/cloud/install/templates/hetzner_installimage.conf.j2
index 801d448f..a30fb94a 100644
--- a/roles/cloud-install/templates/hetzner_installimage.conf.j2
+++ b/roles/cloud/install/templates/hetzner_installimage.conf.j2
@@ -1,21 +1,23 @@
HOSTNAME {{ host_name }}
-{% if hetzner_disk_setup == "nvme_raid" %}
+{% if cloud_provider == "hroot" %}
+{% if install_cooked.disks.layout == "nvme_raid" %}
DRIVE1 /dev/nvme0n1
DRIVE2 /dev/nvme1n1
SWRAID 1
SWRAIDLEVEL 1
-{% elif hetzner_disk_setup == "sata_raid" %}
+{% elif install_cooked.disks.layout == "sata_raid" %}
DRIVE1 /dev/sda
DRIVE2 /dev/sdb
SWRAID 1
SWRAIDLEVEL 1
-{% elif hetzner_disk_setup == "hcloud" %}
+{% endif %}
+{% elif cloud_provider == "hcloud" %}
DRIVE1 /dev/sda
{% endif %}
BOOTLOADER grub
PART /boot ext4 512M
-PART lvm {{ host_name }} {{ hetzner_root_lvm_size }}
-{% if hetzner_root_lvm_size != "all" %}
+PART lvm {{ host_name }} {{ install_cooked.disks.root_lvm_size }}
+{% if install_cooked.disks.root_lvm_size != "all" %}
PART /dummy ext4 all
{% endif %}
LV {{ host_name }} root / ext4 2560M
diff --git a/roles/cloud-install/templates/hetzner_postinst.sh.j2 b/roles/cloud/install/templates/hetzner_postinst.sh.j2
index 660c0ea5..271e51b7 100644
--- a/roles/cloud-install/templates/hetzner_postinst.sh.j2
+++ b/roles/cloud/install/templates/hetzner_postinst.sh.j2
@@ -25,7 +25,7 @@ swapoff -a
sed -e '/^\/swapfile/d' -i /etc/fstab
rm -f /swapfile
-{% if hetzner_root_lvm_size != "all" %}
+{% if install_cooked.disks.root_lvm_size != "all" %}
umount /dummy
sed -e '/\/dummy/d' -i /etc/fstab
rm -rf /dummy
diff --git a/roles/cloud-install/tasks/post_hcloud.yml b/roles/cloud/post-install/tasks/hcloud.yml
index 96108c58..96108c58 100644
--- a/roles/cloud-install/tasks/post_hcloud.yml
+++ b/roles/cloud/post-install/tasks/hcloud.yml
diff --git a/roles/cloud/post-install/tasks/hroot.yml b/roles/cloud/post-install/tasks/hroot.yml
new file mode 100644
index 00000000..51315101
--- /dev/null
+++ b/roles/cloud/post-install/tasks/hroot.yml
@@ -0,0 +1,2 @@
+---
+# nothing to do here.
diff --git a/roles/cloud/post-install/tasks/main.yml b/roles/cloud/post-install/tasks/main.yml
new file mode 100644
index 00000000..c5cc046f
--- /dev/null
+++ b/roles/cloud/post-install/tasks/main.yml
@@ -0,0 +1,2 @@
+---
+- include_tasks: "{{ cloud_provider }}.yml"