diff options
author | Radek Novacek <rnovacek@redhat.com> | 2014-03-03 12:21:00 +0100 |
---|---|---|
committer | Radek Novacek <rnovacek@redhat.com> | 2014-03-04 10:30:57 +0100 |
commit | 906aaa8b8b123bb8ec26bf2eafe50d32c2d3b17a (patch) | |
tree | e9c6a4bf750a3abeb00af05af05a8cd96260c30e /commands | |
parent | 7e0c9154433dc8ab37da75b02f8a0ec6b586ebbd (diff) | |
download | openlmi-scripts-906aaa8b8b123bb8ec26bf2eafe50d32c2d3b17a.tar.gz openlmi-scripts-906aaa8b8b123bb8ec26bf2eafe50d32c2d3b17a.tar.xz openlmi-scripts-906aaa8b8b123bb8ec26bf2eafe50d32c2d3b17a.zip |
networking: handle case when ProtocolIFType is None
ProtocolIFType property of LMI_IPAssignmentSetting data can be empty
sometimes. This commit adds a check for it.
Diffstat (limited to 'commands')
-rw-r--r-- | commands/networking/lmi/scripts/networking/__init__.py | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/commands/networking/lmi/scripts/networking/__init__.py b/commands/networking/lmi/scripts/networking/__init__.py index cb80ab7..5c532fa 100644 --- a/commands/networking/lmi/scripts/networking/__init__.py +++ b/commands/networking/lmi/scripts/networking/__init__.py @@ -447,7 +447,10 @@ def add_ip_address(ns, setting, address, prefix, gateway=None): protocol = ns.LMI_IPAssignmentSettingData.ProtocolIFTypeValues.values_dict()["IPv%s" % version] found = False for settingData in setting.associators(AssocClass="LMI_OrderedIPAssignmentComponent"): - if int(settingData.ProtocolIFType) == protocol and hasattr(settingData, "IPAddresses"): + if (settingData.ProtocolIFType is not None and + int(settingData.ProtocolIFType) == protocol and + hasattr(settingData, "IPAddresses")): + settingData.IPAddresses.append(address) if version == 4: settingData.SubnetMasks.append(util.netmask_from_prefix(prefix)) @@ -475,7 +478,10 @@ def remove_ip_address(ns, setting, address): protocol = ns.LMI_IPAssignmentSettingData.ProtocolIFTypeValues.values_dict()["IPv%s" % version] found = False for settingData in setting.associators(AssocClass="LMI_OrderedIPAssignmentComponent"): - if int(settingData.ProtocolIFType) == protocol and hasattr(settingData, "IPAddresses"): + if (settingData.ProtocolIFType is not None and + int(settingData.ProtocolIFType) == protocol and + hasattr(settingData, "IPAddresses")): + i = 0 while i < len(settingData.IPAddresses): if util.compare_address(settingData.IPAddresses[i], address): @@ -509,7 +515,10 @@ def replace_ip_address(ns, setting, address, prefix, gateway=None): protocol = ns.LMI_IPAssignmentSettingData.ProtocolIFTypeValues.values_dict()["IPv%s" % version] found = False for settingData in setting.associators(AssocClass="LMI_OrderedIPAssignmentComponent"): - if int(settingData.ProtocolIFType) == protocol and hasattr(settingData, "IPAddresses"): + if (settingData.ProtocolIFType is not None and + int(settingData.ProtocolIFType) == protocol and + hasattr(settingData, "IPAddresses")): + settingData.IPAddresses = [address] if version == 4: settingData.SubnetMasks = [util.netmask_from_prefix(prefix)] |