diff options
author | Bin Sun <bins@vmware.com> | 2018-09-03 14:37:30 +0800 |
---|---|---|
committer | Bin Sun <bins@vmware.com> | 2018-09-04 10:21:36 +0800 |
commit | dba6a0836819361eefda04bd5350085ef234bb06 (patch) | |
tree | 0026676eb42a7577fc0c15870a598f81a2c4ee26 /vio/vio/pub | |
parent | 74445002041fdf3ff3087dc86f9a1e75e1a74cb0 (diff) |
Add server action interface for VIO plugin
API v1 supported
Change-Id: I5123727b7fcde5ecdc893e5045a19acde3aa3934
Issue-ID: MULTICLOUD-336
Signed-off-by: Bin Sun <bins@vmware.com>
Diffstat (limited to 'vio/vio/pub')
-rw-r--r-- | vio/vio/pub/vim/drivers/vimsdk/compute.py | 13 | ||||
-rw-r--r-- | vio/vio/pub/vim/vimapi/nova/OperateServers.py | 30 |
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 |