diff options
author | Alexandru Avadanii <Alexandru.Avadanii@enea.com> | 2016-07-18 17:42:48 +0200 |
---|---|---|
committer | Alexandru Avadanii <Alexandru.Avadanii@enea.com> | 2016-08-24 15:42:57 +0200 |
commit | f1e808677a29a157e009f33a1a5a024eaad2c021 (patch) | |
tree | 41414e280333f4b33d26df8a2af15399ef62584d /deploy/deploy.py | |
parent | ae8196be2c5863a5ca837828eead7188d608023d (diff) |
deploy: Delete old Fuel env if present
In order to clean up old partitioning and boot entries on target
nodes, before removing the Fuel Master, try ssh-ing into it and
removing all environments/nodes.
This is especially important for EFI systems, where old boot
entries are left behind without a proper env delete, leading to
target nodes failing to PXE boot on Fuel Master re-install.
This change assumes that:
- all Fuel Master information is unchanged between old and new
deploy (fuel IP, password etc.);
- Fuel Master is up and running, in a sane state (target nodes
are also online), when deploy starts;
Closes: ARMBAND-51
Change-Id: I7b61124ea9182ce2d599adcdedef03e0d8d67ed6
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
Diffstat (limited to 'deploy/deploy.py')
-rwxr-xr-x | deploy/deploy.py | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/deploy/deploy.py b/deploy/deploy.py index 9e188ebe6..f491929e0 100755 --- a/deploy/deploy.py +++ b/deploy/deploy.py @@ -109,6 +109,20 @@ class AutoDeploy(object): self.iso_file = new_iso self.install_iso() + def delete_old_fuel_env(self): + log('Delete old Fuel Master environments if present') + try: + old_dep = CloudDeploy(self.dea, self.dha, self.fuel_conf['ip'], + self.fuel_username, self.fuel_password, + self.dea_file, self.fuel_plugins_conf_dir, + WORK_DIR, self.no_health_check, + self.deploy_timeout, + self.no_deploy_environment, self.deploy_log) + with old_dep.ssh: + old_dep.check_previous_installation() + except Exception as e: + log('Could not delete old env: %s' % str(e)) + def install_iso(self): fuel = InstallFuelMaster(self.dea_file, self.dha_file, self.fuel_conf['ip'], self.fuel_username, @@ -226,6 +240,7 @@ class AutoDeploy(object): def deploy(self): self.collect_fuel_info() if not self.no_fuel: + self.delete_old_fuel_env() self.setup_execution_environment() self.create_tmp_dir() self.install_fuel_master() |