On Fri, Sep 18, 2009 at 12:10:54PM +0100, Flavio Silvestrow wrote:
> +  # Context-specific args
> +  if context == NEIGHBOUR_CONTEXT:
> +    dest_token = "lladdr"
> +    extra_args = ["nud", "permanent"]
> +  else:
> +    dest_token = "via"
> +
> +  result = utils.RunCmd(["ip", context, "replace", ip_address,
> +                         dest_token, dest_address, "dev", iface,
> +                         extra_args])

Guido pointed out that "extra_args" isn't properly initialized when
ROUTING_CONTEXT. Interdiff to fix this.

---
 lib/networktables.py |   10 +++++++---
 1 files changed, 7 insertions(+), 3 deletions(-)

diff --git a/lib/networktables.py b/lib/networktables.py
index 2a84b65..e600d67 100644
--- a/lib/networktables.py
+++ b/lib/networktables.py
@@ -99,10 +99,14 @@ def UpdateNetworkEntry(ip_address, dest_address, context, 
iface):
     extra_args = ["nud", "permanent"]
   else:
     dest_token = "via"
+    extra_args = []
 
-  result = utils.RunCmd(["ip", context, "replace", ip_address,
-                         dest_token, dest_address, "dev", iface,
-                         extra_args])
+  cmd = ["ip", context, "replace", ip_address, dest_token, dest_address,
+         "dev", iface]
+
+  if extra_args:
+    cmd.append(extra_args)
+  result = utils.RunCmd(cmd)
   if result.failed:
     raise ganeti_errors.CommandError("Could not update table, error %s" %
                                      result.output)

Reply via email to