blob: 6b804cc9f35a953227a9011a2b2a98a3558c59f1 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
|
---
- 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
HEADER_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
|