[anaconda][rhel7-branch][PATCH 0/2] Fix environment handling
by Martin Kolman
So it turns out that there are multiple issues with how we handle environment
specifications from kickstart:
1) an invalid (not known by the payload) environment specified in kickstart causes a crash
2) valid human readable environment specifications, such as:
"Infrastructure Server", which is the human readable form of "infrastructure-server-environment",
are not considered valid, the same thing happens for translated human readable environment names
3) environments that have been manually selected in the UI are not written to the output
kickstart
The first patch should fix issues 1) + 3) and the second patch should fix issue 2).
Martin Kolman (2):
Don't crash if incorrect environment is set in kickstart (#1234890)
Handle human readable environment names from kickstart (#1234890)
pyanaconda/packaging/yumpayload.py | 14 +++++
pyanaconda/ui/gui/spokes/software.py | 117 ++++++++++++++++++++++++++---------
2 files changed, 101 insertions(+), 30 deletions(-)
--
2.4.3
8 years, 10 months
[blivet][rhel7-branch] Tear down devices recursively when finding existing installations
by Vratislav Podzimek
When trying to find existing installations we setup and mount devices (to check
if they have /etc/fstab). Setting a device up results in its parents being setup
too (recursively) so when tearing the device down we should also tear its
parents (recursively) down so that they are not left activated as that could
cause problems later (as for example in the bug where a thin pool was
activated/setup on setup of a thin LV and never deactivated/torn down).
Resolves: rhbz#1182229
Signed-off-by: Vratislav Podzimek <vpodzime(a)redhat.com>
---
blivet/__init__.py | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/blivet/__init__.py b/blivet/__init__.py
index 47cb1dd..9c8bfac 100644
--- a/blivet/__init__.py
+++ b/blivet/__init__.py
@@ -3000,7 +3000,7 @@ def findExistingInstallations(devicetree):
device.format.mount(options=options, mountpoint=getSysroot())
except Exception: # pylint: disable=broad-except
log_exception_info(log.warning, "mount of %s as %s failed", [device.name, device.format.type])
- device.teardown()
+ device.teardown(recursive=True)
continue
if not os.access(getSysroot() + "/etc/fstab", os.R_OK):
@@ -3021,7 +3021,7 @@ def findExistingInstallations(devicetree):
{"product": product, "version": version, "arch": architecture}
(mounts, swaps) = parseFSTab(devicetree, chroot=_sysroot)
- device.teardown()
+ device.teardown(recursive=True)
if not mounts and not swaps:
# empty /etc/fstab. weird, but I've seen it happen.
continue
--
2.1.0
8 years, 10 months