From 3cc502a0b46d7771d713aa628475b5552a62f15e Mon Sep 17 00:00:00 2001 From: Michael DeHaan Date: Tue, 9 Oct 2007 18:19:09 -0400 Subject: In XMLRPC, dicts must have string keys, so changing NIC storage to be XMLRPC-friendly. --- cobbler/item_system.py | 1 + cobbler/utils.py | 1 + tests/tests.py | 4 +++- 3 files changed, 5 insertions(+), 1 deletion(-) diff --git a/cobbler/item_system.py b/cobbler/item_system.py index fde9256..fc96fb4 100644 --- a/cobbler/item_system.py +++ b/cobbler/item_system.py @@ -42,6 +42,7 @@ class System(item.Item): self.virt_type = "<>" # use value in profile def __get_interface(self,n): + n = str(n) if not self.interfaces.has_key(n): self.interfaces[n] = { "mac_address" : "", diff --git a/cobbler/utils.py b/cobbler/utils.py index 6613e42..acbede4 100644 --- a/cobbler/utils.py +++ b/cobbler/utils.py @@ -65,6 +65,7 @@ def get_config_filename(sys,interface=0): system config information in the Apache tree, so it's still relevant. """ + interface = str(interface) if not sys.interfaces.has_key(interface): raise CX(_("internal error: probing an interface that does not exist")) diff --git a/tests/tests.py b/tests/tests.py index bb03138..3be4911 100644 --- a/tests/tests.py +++ b/tests/tests.py @@ -136,8 +136,10 @@ class MultiNIC(BootTest): # now check one interface to make sure it's exactly right # and we didn't accidentally fill in any other fields elsewhere + + self.assertTrue(system.interfaces.has_key("4")) for (name,intf) in system.interfaces.iteritems(): - if name == 4: + if name == "4": # xmlrpc dicts must have string keys, so we must also self.assertTrue(intf["gateway"] == "192.168.1.25") self.assertTrue(intf["virt_bridge"] == "zero") self.assertTrue(intf["subnet"] == "255.255.255.0") -- cgit