-
Notifications
You must be signed in to change notification settings - Fork 0
/
imports.py
95 lines (85 loc) · 2.9 KB
/
imports.py
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
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
import configparser
import os
from obtentoken import *
from snapshots import *
import json
config = configparser.ConfigParser()
a = config.read("config.ini")
#for i in os.environ:
# print (i,os.environ[i])
if "APPID" in os.environ:
APP_ID = os.environ['APPID']
print ("APP_ID:Ok")
if "SECRET" in os.environ:
SECRET = os.environ['SECRET']
print("SECRET:Ok" )
CUSTOMER_ID = config.get("AMX", "CUSTOMER_ID")
CLOUDSPACE_ID = config.get("AMX", "CLOUDSPACE_ID")
LOCATION = config.get("AMX", "LOCATION")
TOKEN = config.get("AMX", "TOKEN")
URL = config.get("AMX", "URL")
EXPORTS = config.get("AMX", "EXPORTS")
IMPORTS = config.get("AMX", "IMPORTS")
S3LINK = config.get("AMX", "S3LINK")
S3BUCKET = config.get("AMX", "S3BUCKET")
S3KEY = config.get("AMX", "S3KEY")
S3SECRET = config.get("AMX", "S3SECRET")
S3REGION = config.get("AMX", "S3REGION")
####
#
# Abrir la información de los snapshots. Ya que npo se pueden borrar se modifico el programa para leerlos desde
# un ini file descrito eb la variable SNAPSHOTS
#
#
#######
#
# Abir el archivo donde estan descitas las VMs exportar
#
deploy = configparser.ConfigParser()
d = deploy.read(IMPORTS)
### Esta linea es para conservar las mayusculas. Normalmente convierte a minusculas
deploy.optionxform = str
### Estas lineas son para que no marque errores el ambiente de desarrollo al no estar las variables definidas.
vm_id = "" # id_de la vm a exportar
object_name = ""
#token = get_token(APP_ID, SECRET, IYO_URL)
jH = get_headers_js(TOKEN)
oH = get_headers_os(TOKEN)
#print(snapshotcloudspaces(jH,URL))
#print (jH)
#print(stop_vms_cloudspace(jH,URL,CUSTOMER_ID,CLOUDSPACE_ID,True))
#print(stop_vms_cloudspaces(jH,URL,CUSTOMER_ID,True))
#print(delete_vms_cloudspace(jH,URL,CUSTOMER_ID,CLOUDSPACE_ID,True))
#print( vm_create(jH,URL,CUSTOMER_ID,CLOUDSPACE_ID,data))
#print(snapshotcloudspaces(jH,URL3))
#######
##Loop principal
##
##
## Lee los párametros de las vms del archivo de configuracion
### Estas se cargan del archivo de configuración vm_deploy.ini
### Inicia la creación al clonar desde el disco indicado y encender la máquina con las caracteristicas solicitadas
###
###
for secciones in deploy.sections():
for variable in deploy.items(secciones):
exec(f"{variable[0]}=\"{variable[1]}\"")
data = {
'link': "%s" % (S3LINK),
'key': "%s" %(S3KEY),
'secret': "%s" % (S3SECRET),
'region': "%s" % (S3REGION),
'bucket': "%s" % (S3BUCKET),
'object_name': "%s" % (object_name),
'name': "%s" % (name),
'description': "%s" % (description),
'vcpus': "%s" % (vcpus),
'memory': "%s" % (memory),
'boot_type': "%s" % (boot_type),
'os_type': "%s" % (os_type),
'os_name': "%s" % (os_name)
}
print(json.dumps(data,indent=4))
Ahora =time.time()
vm_import_s3(jH, URL, CUSTOMER_ID, CLOUDSPACE_ID, vm_id, data)
print ("Segundos transcuridos: %ss"%(time.time()-Ahora))