[PATCH 1/4] Ticket #4: machine_id from int to string
Jiri Pirko
jpirko at redhat.com
Wed Aug 22 15:07:44 UTC 2012
Oh, The subject line is wrong. Please do not mention ticket in there.
Anyway, I applied these patches before noticing that, so next time.
Wed, Aug 22, 2012 at 03:19:15PM CEST, olichtne at redhat.com wrote:
>From: Ondrej Lichtner <olichtne at redhat.com>
>
>Machine ids in tags <machine id=''> and <command machine_id=''> are no
>longer converted to integers and are used as strings.
>Introducing these changes requires a number of changes in formatted
>strings where integers were required.
>Machine id is also used as the first parameter in template functions so
>these had to be changed as well.
>
>Signed-off-by: Ondrej Lichtner <olichtne at redhat.com>
>---
> Common/XmlTemplates.py | 8 ++++----
> NetTest/NetTestCommand.py | 2 +-
> NetTest/NetTestController.py | 16 ++++++++--------
> NetTest/NetTestParse.py | 12 ++++++------
> 4 files changed, 19 insertions(+), 19 deletions(-)
>
>diff --git a/Common/XmlTemplates.py b/Common/XmlTemplates.py
>index a3be062..3b6c663 100644
>--- a/Common/XmlTemplates.py
>+++ b/Common/XmlTemplates.py
>@@ -219,7 +219,7 @@ class XmlTemplates:
> self._validate_func_params("ip", params, 2, 1)
> recipe = self._get_recipe_data("ip")
>
>- m_id = int(params[0])
>+ m_id = params[0]
> if_id = int(params[1])
> ip_id = int(params[2]) if len(params) == 3 else 0
>
>@@ -246,7 +246,7 @@ class XmlTemplates:
> def _hwaddr_func(self, params):
> self._validate_func_params("hwaddr", params, 2, 0)
> recipe = self._get_recipe_data("hwaddr")
>- m_id = int(params[0])
>+ m_id = params[0]
> if_id = int(params[1])
>
> if 'machines' not in recipe or m_id not in recipe['machines']:
>@@ -267,7 +267,7 @@ class XmlTemplates:
> def _devname_func(self, params):
> self._validate_func_params("devname", params, 2, 0)
> recipe = self._get_recipe_data("devname")
>- m_id = int(params[0])
>+ m_id = params[0]
> if_id = int(params[1])
>
> if 'machines' not in recipe or m_id not in recipe['machines']:
>@@ -295,7 +295,7 @@ class XmlTemplates:
> err = "Function %s takes %d arguments, %d passed" \
> % (name, mandatory, num_params)
> raise XmlTemplateError(err)
>- for param in params:
>+ for param in params[1:]:
> try:
> int(param)
> except ValueError:
>diff --git a/NetTest/NetTestCommand.py b/NetTest/NetTestCommand.py
>index ae1297f..5403621 100644
>--- a/NetTest/NetTestCommand.py
>+++ b/NetTest/NetTestCommand.py
>@@ -19,7 +19,7 @@ import pickle, traceback
> from Common.ExecCmd import exec_cmd, ExecCmdFail
>
> def str_command(command):
>- out = ("type (%s), machine_id (%d), value (%s)"
>+ out = ("type (%s), machine_id (%s), value (%s)"
> % (command["type"], command["machine_id"], command["value"]))
> if "timeout" in command:
> out += ", timeout (%d)" % command["timeout"]
>diff --git a/NetTest/NetTestController.py b/NetTest/NetTestController.py
>index c70e252..b932ff8 100644
>--- a/NetTest/NetTestController.py
>+++ b/NetTest/NetTestController.py
>@@ -103,7 +103,7 @@ class NetTestController:
> if dev["create"] == "libvirt":
> if not "virt_domain_ctl" in info:
> msg = "Cannot create device. " \
>- "Machine '%d' is not virtual." % (machine_id)
>+ "Machine '%s' is not virtual." % (machine_id)
> raise NetTestError(msg)
>
> if not "hwaddr" in dev:
>@@ -121,7 +121,7 @@ class NetTestController:
> br_name = brctl.get_name()
> brctl.init()
>
>- logging.info("Creating netdevice %d (%s) on machine %d",
>+ logging.info("Creating netdevice %d (%s) on machine %s",
> dev_id, dev["hwaddr"], machine_id)
>
> domain_ctl = info["virt_domain_ctl"]
>@@ -132,7 +132,7 @@ class NetTestController:
>
> if not ready:
> msg = "Netdevice initialization failed." \
>- "Unable to create device %d (%s) on machine %d" \
>+ "Unable to create device %d (%s) on machine %s" \
> % (dev_id, dev["hwaddr"], machine_id)
> raise NetTestError(msg)
>
>@@ -144,11 +144,11 @@ class NetTestController:
> if len(phys_devs) == 1:
> pass
> elif len(phys_devs) < 1:
>- msg = "Device %d not found on machine %d" \
>+ msg = "Device %d not found on machine %s" \
> % (dev_id, machine_id)
> raise NetTestError(msg)
> elif len(phys_devs) > 1:
>- msg = "Multiple netdevices with same address %s on machine %d" \
>+ msg = "Multiple netdevices with same address %s on machine %s" \
> % (dev["hwaddr"], machine_id)
> raise NetTestError(msg)
>
>@@ -186,7 +186,7 @@ class NetTestController:
> rpc.deconfigure_interface(netdev_config_id)
>
> def _prepare_slave(self, machine_id):
>- logging.info("Preparing machine #%d", machine_id)
>+ logging.info("Preparing machine %s", machine_id)
> info = self._get_machineinfo(machine_id)
>
> if "libvirt_domain" in info:
>@@ -261,7 +261,7 @@ class NetTestController:
> if "created_devices" not in info:
> continue
> for dev_id, dev in reversed(info["created_devices"]):
>- logging.info("Removing netdevice %d (%s) from machine %d",
>+ logging.info("Removing netdevice %d (%s) from machine %s",
> dev_id, dev["hwaddr"], machine_id)
> domain_ctl = info["virt_domain_ctl"]
> domain_ctl.detach_interface(dev["hwaddr"])
>@@ -299,7 +299,7 @@ class NetTestController:
> except KeyError:
> pass
>
>- if machine_id == 0:
>+ if machine_id == "0":
> cmd_res = NetTestCommand(command).run()
> else:
> rpc = self._get_machinerpc(machine_id)
>diff --git a/NetTest/NetTestParse.py b/NetTest/NetTestParse.py
>index 7af2084..b69eea3 100644
>--- a/NetTest/NetTestParse.py
>+++ b/NetTest/NetTestParse.py
>@@ -86,7 +86,7 @@ class MachineParse(RecipeParser):
> raise XmlProcessingError("Unknown machine type")
>
> def parse(self, node):
>- self._id = self._get_attribute(node, "id", int)
>+ self._id = self._get_attribute(node, "id")
> self._machine = {}
> self._recipe[self._target][self._id] = self._machine
>
>@@ -361,7 +361,7 @@ class CommandSequenceParse(RecipeParser):
> bg_ids[machine_id].remove(bg_id)
> else:
> logging.error("Found command \"%s\" for bg_id \"%s\" on "
>- "machine \"%d\" which was not previously "
>+ "machine \"%s\" which was not previously "
> "defined", cmd_type, bg_id, machine_id)
> err = True
>
>@@ -371,13 +371,13 @@ class CommandSequenceParse(RecipeParser):
> bg_ids[machine_id].add(bg_id)
> else:
> logging.error("Command \"%d\" uses bg_id \"%d\" on machine "
>- "\"%d\" which is already used",
>+ "\"%s\" which is already used",
> i, bg_id, machine_id)
> err = True
>
> for machine_id in bg_ids:
> for bg_id in bg_ids[machine_id]:
>- logging.error("bg_id \"%d\" on machine \"%d\" has no kill/wait "
>+ logging.error("bg_id \"%d\" on machine \"%s\" has no kill/wait "
> "command to it", bg_id, machine_id)
> err = True
> if err:
>@@ -399,11 +399,11 @@ class CommandParse(RecipeParser):
> self._cmd_num = len(recipe["sequences"][self._seq_num]["commands"]) - 1
>
> if self._has_attribute(node, "machine_id"):
>- machine_id = self._get_attribute(node, "machine_id", int)
>+ machine_id = self._get_attribute(node, "machine_id")
> if machine_id and not machine_id in recipe["machines"]:
> raise XmlProcessingError("Invalid machine_id", node)
> else:
>- machine_id = 0 # controller id
>+ machine_id = "0" # controller id
>
> command["machine_id"] = machine_id
> command["type"] = self._get_attribute(node, "type")
>--
>1.7.11.4
>
>_______________________________________________
>LNST-developers mailing list
>LNST-developers at lists.fedorahosted.org
>https://lists.fedorahosted.org/mailman/listinfo/lnst-developers
More information about the LNST-developers
mailing list