diff options
Diffstat (limited to 'roles/cloud-install/tasks/install_hcloud.yml')
-rw-r--r-- | roles/cloud-install/tasks/install_hcloud.yml | 83 |
1 files changed, 0 insertions, 83 deletions
diff --git a/roles/cloud-install/tasks/install_hcloud.yml b/roles/cloud-install/tasks/install_hcloud.yml deleted file mode 100644 index 68e8db60..00000000 --- a/roles/cloud-install/tasks/install_hcloud.yml +++ /dev/null @@ -1,83 +0,0 @@ ---- -- name: retrieve ssh key ids - uri: - url: "https://api.hetzner.cloud/v1/ssh_keys" - method: GET - headers: - Authorization: "Bearer {{ hcloud_api_token }}" - status_code: 200 - register: sshkeys - delegate_to: localhost - -- name: retrieve server id and check if rescue mode is already active - uri: - url: "https://api.hetzner.cloud/v1/servers?name={{ inventory_hostname }}" - method: GET - headers: - Authorization: "Bearer {{ hcloud_api_token }}" - status_code: 200 - register: serverstatus - delegate_to: localhost - -- name: do not continue in check mode - fail: - msg: "can not bootstrap new servers in check mode" - when: ansible_check_mode | bool - check_mode: no - -### TODO: for now we add all ssh keys that are installed for this project - this might not be a good idea! -- name: activate rescue mode - when: not serverstatus.json.servers[0].rescue_enabled - uri: - url: "https://api.hetzner.cloud/v1/servers/{{ serverstatus.json.servers[0].id }}/actions/enable_rescue" - method: POST - body: "{{ {'type': 'linux64', 'ssh_keys': (sshkeys.json.ssh_keys | map(attribute='id') | list) } | to_nice_json }}" - headers: - Authorization: "Bearer {{ hcloud_api_token }}" - Content-Type: "application/json" - status_code: 201 - delegate_to: localhost - -- name: do a hardware reset - uri: - url: "https://api.hetzner.cloud/v1/servers/{{ serverstatus.json.servers[0].id }}/actions/reset" - method: POST - headers: - Authorization: "Bearer {{ hcloud_api_token }}" - status_code: 201 - delegate_to: localhost - -### TODO: would be nice to get the SSH host key from robot -- name: completely ignore ssh host keys for now - set_fact: - old_ansible_ssh_extra_args: "{{ ansible_ssh_extra_args | default('') }}" - ansible_ssh_extra_args: "{{ ansible_ssh_extra_args | default('') }} -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no" - -- name: wait for rescue system to start up - wait_for_connection: - delay: 30 - timeout: 120 - -- include_tasks: hetzner_installimage.yml - -- name: reboot - shell: sleep 2 && shutdown -r now "triggered by ansible after running installimage" - async: 1 - 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 }}" |