summaryrefslogtreecommitdiffstats
path: root/patches
diff options
context:
space:
mode:
authorAlexandru Avadanii <Alexandru.Avadanii@enea.com>2016-07-18 17:48:53 +0200
committerAlexandru Avadanii <Alexandru.Avadanii@enea.com>2016-07-18 22:32:53 +0200
commit1c3f4a62f06a41186fd5f2a2d0ff9404330d2a41 (patch)
tree51c2adbbcd0b60683b1598141ac105b324e281b1 /patches
parentc303d39b58243eab8a255f58e0bfa07371df168c (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')
-rw-r--r--patches/opnfv-fuel/0002-deploy-Delete-old-Fuel-env-if-present.patch58
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()