Success to add a dynamips with apiv2

This commit is contained in:
Julien Duponchelle committed 2016-03-15 10:45:05 +01:00
1 parent 8fed1d9b9f
commit 7a095478fe
8 files changed
+114 -13

No files matched your search

+15 -1
View File
@@ -83,7 +83,21 @@ class VM:
data["name"] = self._name
data["console"] = self._console
data["console_type"] = self._console_type
yield from self._hypervisor.post("/projects/{}/{}/vms".format(self._project.id, self._vm_type), data=data)
# None properties should be send. Because it can mean the emulator doesn't support it
for key in list(data.keys()):
if data[key] is None:
del data[key]
response = yield from self._hypervisor.post("/projects/{}/{}/vms".format(self._project.id, self._vm_type), data=data)
for key, value in response.json.items():
if key == "console":
self._console = value
elif key in ["console_type", "name", "vm_id"]:
pass
else:
self._properties[key] = value
@asyncio.coroutine
def post(self, path, data={}):
@@ -133,6 +133,7 @@ class Router(BaseVM):
"disk1": self._disk1,
"auto_delete_disks": self._auto_delete_disks,
"console": self.console,
"console_type": "telnet",
"aux": self.aux,
"mac_addr": self._mac_addr,
"system_id": self._system_id}
+13 -1
View File
@@ -135,6 +135,10 @@ VM_CREATE_SCHEMA = {
"minimum": 1,
"maximum": 65535
},
"console_type": {
"description": "console type",
"enum": ["telnet"]
},
"aux": {
"description": "auxiliary console TCP port",
"type": "integer",
@@ -361,6 +365,10 @@ VM_UPDATE_SCHEMA = {
"minimum": 1,
"maximum": 65535
},
"console_type": {
"description": "console type",
"enum": ["telnet"]
},
"aux": {
"description": "auxiliary console TCP port",
"type": "integer",
@@ -609,6 +617,10 @@ VM_OBJECT_SCHEMA = {
"minimum": 1,
"maximum": 65535
},
"console_type": {
"description": "console type",
"enum": ["telnet"]
},
"aux": {
"description": "auxiliary console TCP port",
"type": ["integer", "null"],
@@ -737,7 +749,7 @@ VM_OBJECT_SCHEMA = {
},
},
"additionalProperties": False,
"required": ["name", "vm_id", "project_id", "dynamips_id"]
"required": ["name", "vm_id", "project_id", "dynamips_id", "console", "console_type"]
}
VM_CONFIGS_SCHEMA = {