added boot-rescue role
commit
28ebbd929b
@ -0,0 +1,9 @@
|
||||
---
|
||||
- name: reboot vserver into rescue image
|
||||
hosts: new_fastds
|
||||
connection: local
|
||||
gather_facts: no
|
||||
vars:
|
||||
ansible_python_interpreter: /usr/bin/python
|
||||
roles:
|
||||
- role: boot-rescue
|
@ -0,0 +1,7 @@
|
||||
[new_fastds]
|
||||
123.123.123.123 arch_hostname=fastd1
|
||||
|
||||
[all:vars]
|
||||
hetzner_webservice_username=<hetzner_webservice_username>
|
||||
hetzner_webservice_password=<hetzner_webservice_password>
|
||||
rescue_authorized_key=<fingerprint of ssh key to use in rescue mode>
|
@ -0,0 +1,58 @@
|
||||
---
|
||||
- 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
|
||||
HEADER_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
|
Loading…
Reference in New Issue