diff options
Diffstat (limited to 'roles')
-rw-r--r-- | roles/cloud-install/defaults/main.yml | 3 | ||||
-rw-r--r-- | roles/cloud-install/tasks/main.yml | 8 | ||||
-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.yml | 2 | ||||
-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.yml | 2 | ||||
-rw-r--r-- | roles/cloud/post-install/tasks/main.yml | 2 |
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" |