summaryrefslogtreecommitdiffstats
path: root/vio/vio/pub
diff options
context:
space:
mode:
Diffstat (limited to 'vio/vio/pub')
-rw-r--r--vio/vio/pub/vim/drivers/vimsdk/compute.py13
-rw-r--r--vio/vio/pub/vim/vimapi/nova/OperateServers.py30
2 files changed, 43 insertions, 0 deletions
diff --git a/vio/vio/pub/vim/drivers/vimsdk/compute.py b/vio/vio/pub/vim/drivers/vimsdk/compute.py
index 2326fff..e415573 100644
--- a/vio/vio/pub/vim/drivers/vimsdk/compute.py
+++ b/vio/vio/pub/vim/drivers/vimsdk/compute.py
@@ -77,6 +77,19 @@ class ComputeClient(base.DriverBase):
return list(ifaces)
@sdk.translate_exception
+ def start_server(self, server_id):
+ self.conn.compute.start_server(server=server_id)
+
+ @sdk.translate_exception
+ def stop_server(self, server_id):
+ self.conn.compute.stop_server(server=server_id)
+
+ @sdk.translate_exception
+ def reboot_server(self, server_id, reboot_type):
+ self.conn.compute.reboot_server(server=server_id,
+ reboot_type=reboot_type)
+
+ @sdk.translate_exception
def list_flavors(self, **query):
flavors = self.conn.compute.flavors(**query)
return flavors
diff --git a/vio/vio/pub/vim/vimapi/nova/OperateServers.py b/vio/vio/pub/vim/vimapi/nova/OperateServers.py
index 3075276..b14c7f4 100644
--- a/vio/vio/pub/vim/vimapi/nova/OperateServers.py
+++ b/vio/vio/pub/vim/vimapi/nova/OperateServers.py
@@ -162,3 +162,33 @@ class OperateServers(OperateNova):
'project_id': project_id}
project = self.compute(param).delete_server(server_id)
return project
+
+ def start_server(self, data, project_id, server_id):
+ param = {'username': data['username'],
+ 'user_domain_name': 'default',
+ 'project_domain_name': 'default',
+ 'password': data['password'],
+ 'auth_url': data['url'],
+ 'project_id': project_id}
+ project = self.compute(param).start_server(server_id)
+ return project
+
+ def stop_server(self, data, project_id, server_id):
+ param = {'username': data['username'],
+ 'user_domain_name': 'default',
+ 'project_domain_name': 'default',
+ 'password': data['password'],
+ 'auth_url': data['url'],
+ 'project_id': project_id}
+ project = self.compute(param).stop_server(server_id)
+ return project
+
+ def reboot_server(self, data, project_id, server_id, reboot_type):
+ param = {'username': data['username'],
+ 'user_domain_name': 'default',
+ 'project_domain_name': 'default',
+ 'password': data['password'],
+ 'auth_url': data['url'],
+ 'project_id': project_id}
+ project = self.compute(param).reboot_server(server_id, reboot_type)
+ return project