aboutsummaryrefslogtreecommitdiff
path: root/python/reboot_vps_server.py
diff options
context:
space:
mode:
authorIsmaël Bouya <ismael.bouya@normalesup.org>2017-09-01 00:22:47 +0200
committerIsmaël Bouya <ismael.bouya@normalesup.org>2017-09-01 00:42:25 +0200
commitec1096d8c0d897ebd1ea445d9c5404a13c33ce2e (patch)
tree2f81f476207059287c991e19d390f89e4bb5c5ab /python/reboot_vps_server.py
parent548061112d2e2627317f9379d2f501fcf3f6ea54 (diff)
downloadPuppet-ec1096d8c0d897ebd1ea445d9c5404a13c33ce2e.tar.gz
Puppet-ec1096d8c0d897ebd1ea445d9c5404a13c33ce2e.tar.zst
Puppet-ec1096d8c0d897ebd1ea445d9c5404a13c33ce2e.zip
Add install scripts
Diffstat (limited to 'python/reboot_vps_server.py')
-rw-r--r--python/reboot_vps_server.py36
1 files changed, 36 insertions, 0 deletions
diff --git a/python/reboot_vps_server.py b/python/reboot_vps_server.py
new file mode 100644
index 0000000..7ea301a
--- /dev/null
+++ b/python/reboot_vps_server.py
@@ -0,0 +1,36 @@
1# -*- encoding: utf-8 -*-
2import json
3from ovh import ovh
4import sys
5import ovh_helper
6
7# Credentials are stored in ~/.ovh.conf
8# See ovh/README.rst
9client = ovh.Client()
10
11vps_list = client.get('/vps/')
12if sys.argv[-1] in vps_list:
13 vps = sys.argv[-1]
14else:
15 print("VPS not in list:")
16 for vps in vps_list:
17 print(vps)
18 sys.exit(1)
19
20if "--rescue" in sys.argv:
21 netboot_mode="rescue"
22elif "--local" in sys.argv:
23 netboot_mode="local"
24else:
25 netboot_mode=None
26
27current_state=client.get("/vps/{}".format(vps))["netbootMode"]
28
29if netboot_mode is None or current_state == netboot_mode:
30 client.post("/vps/{}/reboot".format(vps))
31 task_type="rebootVm"
32else:
33 client.put("/vps/{}".format(vps), netbootMode=netboot_mode)
34 task_type="setNetboot"
35
36ovh_helper.show_progress(client, vps, task_type)