]> git.proxmox.com Git - mirror_lxc.git/commitdiff
python: Various fixes to the python scripts
authorStéphane Graber <stgraber@ubuntu.com>
Thu, 18 Apr 2013 20:20:53 +0000 (22:20 +0200)
committerStéphane Graber <stgraber@ubuntu.com>
Thu, 18 Apr 2013 20:37:10 +0000 (22:37 +0200)
This fixes a few issues uncovered by the recent C module fix.

In lxc-start-ephemeral, the hwaddr code wasn't actually working.
Replace by code that properly iterates through the network interfaces
and sets a new MAC address for each entry.

In the python overlay, catch the newly emitted KeyError when in
set_config_item (or setting any previously unset variable would fail).

Signed-off-by: Stéphane Graber <stgraber@ubuntu.com>
Acked-by: Serge E. Hallyn <serge.hallyn@ubuntu.com>
src/lxc/lxc-start-ephemeral.in
src/python-lxc/lxc/__init__.py

index bed86e6d28e845ee040e3b7186ab9e6764b15165..b5cad9a4e1d3101bbae69b27ab6aacfd614b71b4 100644 (file)
@@ -134,7 +134,9 @@ dest = lxc.Container(os.path.basename(dest_path), args.lxcpath)
 dest.load_config(orig.config_file_name)
 dest.set_config_item("lxc.utsname", dest.name)
 dest.set_config_item("lxc.rootfs", os.path.join(dest_path, "rootfs"))
-dest.set_config_item("lxc.network.hwaddr", randomMAC())
+for nic in dest.network:
+    if hasattr(nic, 'hwaddr'):
+        nic.hwaddr = randomMAC()
 
 overlay_dirs = [(orig.get_config_item("lxc.rootfs"), "%s/rootfs/" % dest_path)]
 
index 118a08125849df5cf647a198b77d77417be16cd0..e3ce8ebf0ead96434646928f6fbfd8c8496ae09c 100644 (file)
@@ -412,7 +412,10 @@ class Container(_lxc.Container):
             Set a config key to a provided value.
             The value can be a list for the keys supporting multiple values.
         """
-        old_value = self.get_config_item(key)
+        try:
+            old_value = self.get_config_item(key)
+        except KeyError:
+            old_value = None
 
         # Check if it's a list
         def set_key(key, value):