Quoting Dwight Engen (dwight.en...@oracle.com): > Make the oracle template honor the lxc.network.type and > lxc.network.link configuration items if a "base" configuration file is > passed to lxc-create. If no configuration file is passed, the template > falls back to the default name created by libvirt. > > Signed-off-by: Dwight Engen <dwight.en...@oracle.com> > --- > templates/lxc-oracle.in | 16 ++++++++++++---- > 1 files changed, 12 insertions(+), 4 deletions(-) > > diff --git a/templates/lxc-oracle.in b/templates/lxc-oracle.in > index ba62f8f..2d62396 100644 > --- a/templates/lxc-oracle.in > +++ b/templates/lxc-oracle.in > @@ -27,10 +27,6 @@ > # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA > # > > -# use virbr0 that is setup by default by libvirtd > -lxc_network_type=veth > -lxc_network_link=virbr0 > - > die() > { > echo "failed: $1" > @@ -250,6 +246,18 @@ container_config_create() > head -1 |awk '{print $2}' | cut -c1-10 |\ > sed 's/\(..\)/\1:/g; s/.$//'`" > mkdir -p $cfg_dir || die "unable to create config dir $cfg_dir" > + > + # see if the network settings are specified in the file thats handed to > us > + lxc_network_type=`grep '^lxc.network.type' $cfg_dir/config | awk -F'[= > \t]+' '{ print $2 }'` > + if [ -z "$lxc_network_type" ]; then > + lxc_network_type="veth" > + fi > + > + lxc_network_link=`grep '^lxc.network.link' $cfg_dir/config | awk -F'[= > \t]+' '{ print $2 }'` > + if [ -z "$lxc_network_link" ]; then > + lxc_network_link="virbr0" > + fi > +
Hi, the creator might want to put other things in the initial config, such as lxc.cgroup.devices entries. When you do 'lxc-create -t TEMPLATE -n p1 -f CONFIG", lxc-create will copy CONFIG to /var/lib/lxc/p1/config. I think it would be better for your template to not remove the config copied over by lxc-create. So don't do the above steps. If you want the default to be to use virbr0, just check whether 'lxc.network.type' is not in the config yet, and if it is not then set lxc_network_type=veth lxc_network_link=virbr0 as you were before. (I'm sure you know this, but to be clear, if there is no 'lxc.network.type' at all then the container will share the host's network, and if it is 'lxc.network.type = empty' then it will have a private netns with only loopback. So you can pick what you want for a default, but this way the distro, by setting a default /etc/lxc/lxc.conf, can easily choose a default bridge for lxc.network.link while the template can choose what to do if nothing is specified. > rm -f $cfg_dir/config > cat <<EOF >> $cfg_dir/config || die "unable to create $cfg_dir/config" > # Container configuration for Oracle Linux $release_major.$release_minor > -- > 1.7.1 > ------------------------------------------------------------------------------ Don't let slow site performance ruin your business. Deploy New Relic APM Deploy New Relic app performance management and know exactly what is happening inside your Ruby, Python, PHP, Java, and .NET app Try New Relic at no cost today and get our sweet Data Nerd shirt too! http://p.sf.net/sfu/newrelic-dev2dev _______________________________________________ Lxc-devel mailing list Lxc-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/lxc-devel