diff options
author | Alexandru Avadanii <Alexandru.Avadanii@enea.com> | 2016-07-18 17:48:53 +0200 |
---|---|---|
committer | Alexandru Avadanii <Alexandru.Avadanii@enea.com> | 2016-07-18 22:32:53 +0200 |
commit | 1c3f4a62f06a41186fd5f2a2d0ff9404330d2a41 (patch) | |
tree | 51c2adbbcd0b60683b1598141ac105b324e281b1 /patches/opnfv-fuel | |
parent | c303d39b58243eab8a255f58e0bfa07371df168c (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: I52b853b37a0d226a9cb33179f7aeb65eff74da4e
Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com>
Diffstat (limited to 'patches/opnfv-fuel')
-rw-r--r-- | patches/opnfv-fuel/0002-deploy-Delete-old-Fuel-env-if-present.patch | 58 |
1 files changed, 58 insertions, 0 deletions
diff --git a/patches/opnfv-fuel/0002-deploy-Delete-old-Fuel-env-if-present.patch b/patches/opnfv-fuel/0002-deploy-Delete-old-Fuel-env-if-present.patch new file mode 100644 index 00000000..e7867d48 --- /dev/null +++ b/patches/opnfv-fuel/0002-deploy-Delete-old-Fuel-env-if-present.patch @@ -0,0 +1,58 @@ +From: Alexandru Avadanii <Alexandru.Avadanii@enea.com> +Date: Mon, 18 Jul 2016 17:42:48 +0200 +Subject: [PATCH] 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 + +Signed-off-by: Alexandru Avadanii <Alexandru.Avadanii@enea.com> +--- + deploy/deploy.py | 15 +++++++++++++++ + 1 file changed, 15 insertions(+) + +diff --git a/deploy/deploy.py b/deploy/deploy.py +index 48a53c3..184510f 100755 +--- a/deploy/deploy.py ++++ b/deploy/deploy.py +@@ -110,6 +110,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, +@@ -227,6 +241,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() |