Both are related to validation of lvm names specified via kickstart.
Related: rhbz#747278 --- kickstart.py | 7 ++++++- storage/__init__.py | 5 +++++ 2 files changed, 11 insertions(+), 1 deletions(-)
diff --git a/kickstart.py b/kickstart.py index ec9ca90..7cc8f22 100644 --- a/kickstart.py +++ b/kickstart.py @@ -478,6 +478,9 @@ class LogVolData(commands.logvol.RHEL6_LogVolData):
storage.doAutoPart = False
+ # we might have truncated or otherwise changed the specified vg name + vgname = anaconda.id.ksdata.onPart.get(self.vgname, self.vgname) + if self.mountpoint == "swap": type = "swap" self.mountpoint = "" @@ -495,7 +498,7 @@ class LogVolData(commands.logvol.RHEL6_LogVolData): raise KickstartValueError, formatErrorMsg(self.lineno, msg="The mount point "%s" is not valid." % (self.mountpoint,))
# Check that the VG this LV is a member of has already been specified. - vg = devicetree.getDeviceByName(self.vgname) + vg = devicetree.getDeviceByName(vgname) if not vg: raise KickstartValueError, formatErrorMsg(self.lineno, msg="No volume group exists with the name "%s". Specify volume groups before logical volumes." % self.vgname)
@@ -1163,6 +1166,8 @@ class VolGroupData(commands.volgroup.F16_VolGroupData): elif self.reserved_percent: request.reserved_percent = self.reserved_percent
+ anaconda.id.ksdata.onPart[self.vgname] = request.name + class XConfig(commands.xconfig.F10_XConfig): def execute(self, anaconda): if self.startX: diff --git a/storage/__init__.py b/storage/__init__.py index cd70cfa..7c62824 100644 --- a/storage/__init__.py +++ b/storage/__init__.py @@ -808,6 +808,11 @@ class Storage(object):
if kwargs.has_key("name"): name = kwargs.pop("name") + safe_name = safeLvmName(name) + if safe_name != name: + log.warning("using '%s' instead of specified name '%s'" + % (safe_name, name)) + name = safe_name else: name = self.createSuggestedVGName(self.anaconda.id.network)
safeLvmName removes dashes, which is a problem when you pass in a string of the form "$vgname-$lvname". --- storage/__init__.py | 11 ++++------- 1 files changed, 4 insertions(+), 7 deletions(-)
diff --git a/storage/__init__.py b/storage/__init__.py index 7c62824..1e32d9d 100644 --- a/storage/__init__.py +++ b/storage/__init__.py @@ -834,14 +834,11 @@ class Storage(object): if kwargs.has_key("name"): name = kwargs.pop("name") # make sure the specified name is sensible - safe_vg_name = safeLvmName(vg.name) - full_name = "%s-%s" % (safe_vg_name, name) - safe_name = safeLvmName(full_name) - if safe_name != full_name: - new_name = safe_name[len(safe_vg_name)+1:] + safe_name = safeLvmName(name) + if safe_name != name: log.warning("using '%s' instead of specified name '%s'" - % (new_name, name)) - name = new_name + % (safe_name, name)) + name = safe_name else: if kwargs.get("format") and kwargs["format"].type == "swap": swap = True
anaconda-patches@lists.fedorahosted.org