You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
ffmyk-ansible/roles/boot-rescue/tasks/main.yml

61 lines
1.6 KiB
YAML

---
- name: check rescue mode
uri:
url: https://robot-ws.your-server.de/boot/{{ inventory_hostname }}/rescue
method: GET
user: "{{ hetzner_webservice_username }}"
password: "{{ hetzner_webservice_password }}"
force_basic_auth: yes
status_code: 200
register: rescue
- name: activate rescue mode
when: rescue.json.rescue.active == false
uri:
url: https://robot-ws.your-server.de/boot/{{ inventory_hostname }}/rescue
method: POST
user: "{{ hetzner_webservice_username }}"
password: "{{ hetzner_webservice_password }}"
force_basic_auth: yes
body: "os=linux&arch=64&authorized_key={{ rescue_authorized_key }}"
status_code: 200
headers:
Content-Type: "application/x-www-form-urlencoded"
register: activated
#- debug: var=activated
- name: Execute hardware reset
uri:
url: https://robot-ws.your-server.de/reset/{{ inventory_hostname }}
method: POST
user: "{{ hetzner_webservice_username }}"
password: "{{ hetzner_webservice_password }}"
force_basic_auth: yes
body: "type=hw"
status_code: 200
headers:
Content-Type: "application/x-www-form-urlencoded"
register: reset
- name: remove server from local known_hosts file
local_action: shell ssh-keygen -R {{ inventory_hostname }}
ignore_errors: true
- name: waiting for server to go down
local_action:
module: wait_for
host: "{{ inventory_hostname }}"
port: 22
delay: 1
timeout: 120
state: stopped
- name: waiting for server to come back
local_action:
module: wait_for
host: "{{ inventory_hostname }}"
port: 22
delay: 1
timeout: 120