diff options
author | Harry Huang <huangxiangyu5@huawei.com> | 2018-10-11 11:05:02 +0800 |
---|---|---|
committer | Harry Huang <huangxiangyu5@huawei.com> | 2018-10-30 15:06:10 +0800 |
commit | f89ef9a9ee968c778af3444c7f9d2a39489fcf2b (patch) | |
tree | b5d3894a076ac2aca47b2c5f3dcf83160375a463 /compass-tasks-base/deployment/deploy_manager.py | |
parent | c5a7aaf83d500ec7c4b02d4cfddaf86b85182b2c (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.py | 29 |
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. |