Quoting Stéphane Graber (stgra...@ubuntu.com): > 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 <stgra...@ubuntu.com>
Acked-by: Serge E. Hallyn <serge.hal...@ubuntu.com> > --- > src/lxc/lxc-start-ephemeral.in | 4 +++- > src/python-lxc/lxc/__init__.py | 5 ++++- > 2 files changed, 7 insertions(+), 2 deletions(-) > > diff --git a/src/lxc/lxc-start-ephemeral.in b/src/lxc/lxc-start-ephemeral.in > index bed86e6..b5cad9a 100644 > --- a/src/lxc/lxc-start-ephemeral.in > +++ b/src/lxc/lxc-start-ephemeral.in > @@ -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)] > > diff --git a/src/python-lxc/lxc/__init__.py b/src/python-lxc/lxc/__init__.py > index 118a081..e3ce8eb 100644 > --- a/src/python-lxc/lxc/__init__.py > +++ b/src/python-lxc/lxc/__init__.py > @@ -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): > -- > 1.8.1.2 > > > ------------------------------------------------------------------------------ > Precog is a next-generation analytics platform capable of advanced > analytics on semi-structured data. The platform includes APIs for building > apps and a phenomenal toolset for data science. Developers can use > our toolset for easy data analysis & visualization. Get a free account! > http://www2.precog.com/precogplatform/slashdotnewsletter > _______________________________________________ > Lxc-devel mailing list > Lxc-devel@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/lxc-devel ------------------------------------------------------------------------------ Precog is a next-generation analytics platform capable of advanced analytics on semi-structured data. The platform includes APIs for building apps and a phenomenal toolset for data science. Developers can use our toolset for easy data analysis & visualization. Get a free account! http://www2.precog.com/precogplatform/slashdotnewsletter _______________________________________________ Lxc-devel mailing list Lxc-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/lxc-devel