summaryrefslogtreecommitdiffstats
path: root/commands
diff options
context:
space:
mode:
authorRadek Novacek <rnovacek@redhat.com>2014-03-03 12:21:00 +0100
committerRadek Novacek <rnovacek@redhat.com>2014-03-04 10:30:57 +0100
commit906aaa8b8b123bb8ec26bf2eafe50d32c2d3b17a (patch)
treee9c6a4bf750a3abeb00af05af05a8cd96260c30e /commands
parent7e0c9154433dc8ab37da75b02f8a0ec6b586ebbd (diff)
downloadopenlmi-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__.py15
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)]