[f21/master v3] Avoid the possibility of size variables being unset (#1146585)
David Shea
dshea at redhat.com
Thu Sep 25 20:46:38 UTC 2014
Check for missing sizes in the logvol and part commands. If unset in
logvol and not using --percent, raise an error. If unset in part, set
size to None and let blivet figure it out.
Remove the TypeError checks for the %d operation failing since
pykickstart already checks for integer validity.
---
pyanaconda/kickstart.py | 25 ++++++++++++-------------
1 file changed, 12 insertions(+), 13 deletions(-)
diff --git a/pyanaconda/kickstart.py b/pyanaconda/kickstart.py
index fadc501..37ee1ad 100644
--- a/pyanaconda/kickstart.py
+++ b/pyanaconda/kickstart.py
@@ -770,13 +770,14 @@ class LogVolData(commands.logvol.F20_LogVolData):
if self.percent:
size = Size(0)
else:
+ if not self.size:
+ raise KickstartValueError(formatErrorMsg(self.lineno,
+ msg="Size must be specified."))
try:
size = Size("%d MiB" % self.size)
except ValueError:
raise KickstartValueError(formatErrorMsg(self.lineno,
msg="The size \"%s\" is invalid." % self.size))
- except TypeError:
- pass
if self.mountpoint == "swap":
ty = "swap"
@@ -926,8 +927,6 @@ class LogVolData(commands.logvol.F20_LogVolData):
except ValueError:
raise KickstartValueError(formatErrorMsg(self.lineno,
msg="The maximum size \"%s\" is invalid." % self.maxSizeMB))
- except TypeError:
- pass
else:
maxsize = None
@@ -1014,13 +1013,15 @@ class PartitionData(commands.partition.F18_PartData):
storage.doAutoPart = False
- try:
- size = Size("%d MiB" % self.size)
- except ValueError:
- raise KickstartValueError(formatErrorMsg(self.lineno,
- msg=_("The size \"%s\" is invalid.") % self.size))
- except TypeError:
- pass
+ if self.size:
+ try:
+ size = Size("%d MiB" % self.size)
+ except ValueError:
+ raise KickstartValueError(formatErrorMsg(self.lineno,
+ msg=_("The size \"%s\" is invalid.") % self.size))
+ else:
+ # Have blivet determine a default value
+ size = None
if self.onbiosdisk != "":
for (disk, biosdisk) in storage.eddDict.iteritems():
@@ -1189,8 +1190,6 @@ class PartitionData(commands.partition.F18_PartData):
except ValueError:
raise KickstartValueError(formatErrorMsg(self.lineno,
msg=_("The maximum size \"%s\" is invalid.") % self.maxSizeMB))
- except TypeError:
- pass
else:
maxsize = None
--
2.1.0
More information about the anaconda-patches
mailing list