summaryrefslogtreecommitdiffstats
path: root/compass-tasks-base/deployment/deploy_manager.py
diff options
context:
space:
mode:
authorHarry Huang <huangxiangyu5@huawei.com>2018-10-11 11:05:02 +0800
committerHarry Huang <huangxiangyu5@huawei.com>2018-10-30 15:06:10 +0800
commitf89ef9a9ee968c778af3444c7f9d2a39489fcf2b (patch)
treeb5d3894a076ac2aca47b2c5f3dcf83160375a463 /compass-tasks-base/deployment/deploy_manager.py
parentc5a7aaf83d500ec7c4b02d4cfddaf86b85182b2c (diff)
Manage host power from cobbler
JIRA: COMPASS-616 1. Use fence_ipmilan to control power of baremetal servers. Add fence_libvirt to control power of virtual servers. 2. Use power_manage field instead of ipmi field 3. Add power_type to specify machine's power manage tool 4. Store power manage information in db and update to cobbler 5. Manage power from cobbler for both virtual and baremetal machines Change-Id: Ic36ae640dc0aa1703566b5b0b549880a71be36e4 Signed-off-by: Harry Huang <huangxiangyu5@huawei.com>
Diffstat (limited to 'compass-tasks-base/deployment/deploy_manager.py')
-rw-r--r--compass-tasks-base/deployment/deploy_manager.py29
1 files changed, 28 insertions, 1 deletions
diff --git a/compass-tasks-base/deployment/deploy_manager.py b/compass-tasks-base/deployment/deploy_manager.py
index baf7cd6..225c31e 100644
--- a/compass-tasks-base/deployment/deploy_manager.py
+++ b/compass-tasks-base/deployment/deploy_manager.py
@@ -111,7 +111,34 @@ class DeployManager(object):
self.os_installer.set_package_installer_config(pk_installer_config)
# start to deploy OS
- return self.os_installer.deploy()
+ result = self.os_installer.deploy()
+ self.reset_server()
+
+ return result
+
+ def poweron_server(self):
+ if not self.os_installer:
+ return
+
+ host_id_list = self.os_installer.config_manager.get_host_id_list()
+ for host_id in host_id_list:
+ self.os_installer.poweron(host_id)
+
+ def poweroff_server(self):
+ if not self.os_installer:
+ return
+
+ host_id_list = self.os_installer.config_manager.get_host_id_list()
+ for host_id in host_id_list:
+ self.os_installer.poweroff(host_id)
+
+ def reset_server(self):
+ if not self.os_installer:
+ return
+
+ host_id_list = self.os_installer.config_manager.get_host_id_list()
+ for host_id in host_id_list:
+ self.os_installer.reset(host_id)
def deploy_target_system(self):
"""Deploy target system to all hosts in the cluster.