Related: rhbz#1277975
This will allow to override special default of first network command which is --activate. --- pykickstart/commands/network.py | 12 ++++++++---- tests/commands/network.py | 11 +++++++++++ 2 files changed, 19 insertions(+), 4 deletions(-)
diff --git a/pykickstart/commands/network.py b/pykickstart/commands/network.py index 4daeece..a9b12b3 100644 --- a/pykickstart/commands/network.py +++ b/pykickstart/commands/network.py @@ -155,7 +155,7 @@ class F16_NetworkData(F8_NetworkData):
def __init__(self, *args, **kwargs): F8_NetworkData.__init__(self, *args, **kwargs) - self.activate = kwargs.get("activate", False) + self.activate = kwargs.get("activate", None) self.nodefroute = kwargs.get("nodefroute", False) self.wpakey = kwargs.get("wpakey", "")
@@ -276,7 +276,7 @@ class RHEL6_NetworkData(F8_NetworkData):
def __init__(self, *args, **kwargs): F8_NetworkData.__init__(self, *args, **kwargs) - self.activate = kwargs.get("activate", False) + self.activate = kwargs.get("activate", None) self.nodefroute = kwargs.get("nodefroute", False) self.vlanid = kwargs.get("vlanid", "") self.bondslaves = kwargs.get("bondslaves", "") @@ -314,6 +314,8 @@ class RHEL7_NetworkData(F21_NetworkData): retval += " --bridgeslaves=%s" % self.bridgeslaves if self.bridgeopts != "": retval += " --bridgeopts=%s" % self.bridgeopts + if self.activate == False: + retval += " --no-activate"
return retval
@@ -435,7 +437,7 @@ class F16_Network(F9_Network): def _getParser(self): op = F9_Network._getParser(self) op.add_option("--activate", dest="activate", action="store_true", - default=False) + default=None) op.add_option("--nodefroute", dest="nodefroute", action="store_true", default=False) op.add_option("--wpakey", dest="wpakey", action="store", default="") @@ -582,7 +584,7 @@ class RHEL6_Network(F9_Network): def _getParser(self): op = F9_Network._getParser(self) op.add_option("--activate", dest="activate", action="store_true", - default=False) + default=None) op.add_option("--nodefroute", dest="nodefroute", action="store_true", default=False) op.add_option("--vlanid", dest="vlanid") @@ -639,6 +641,8 @@ class RHEL7_Network(F21_Network): default="") op.add_option("--bridgeopts", dest="bridgeopts", action="store", default="") + op.add_option("--no-activate", dest="activate", action="store_false", + default=None) return op
def parse(self, args): diff --git a/tests/commands/network.py b/tests/commands/network.py index cd150d1..73bcc04 100644 --- a/tests/commands/network.py +++ b/tests/commands/network.py @@ -152,6 +152,17 @@ class RHEL7_TestCase(F20_TestCase): "--bridgeopts=priority", KickstartValueError)
+ # activating a device + network_data = self.assert_parse("network --device eth0") + self.assertEquals(network_data.activate, None) + network_data = self.assert_parse("network --device eth0 --no-activate") + self.assertEquals(network_data.activate, False) + network_data = self.assert_parse("network --device eth0 --activate") + self.assertEquals(network_data.activate, True) + network_data = self.assert_parse("network --device eth0 --activate --no-activate") + self.assertEquals(network_data.activate, False) + network_data = self.assert_parse("network --device eth0 --no-activate --activate") + self.assertEquals(network_data.activate, True)
if __name__ == "__main__": unittest.main()