[lxc-devel] [PATCH 4/5] Honor network type and link from lxc-create -f

Serge Hallyn serge.hallyn at canonical.com
Mon Oct 15 20:30:39 UTC 2012


Thanks, Dwight, works like a charm for me.  I've pulled patches 1-4 into
my github tree, and have asked Stephane to review for the official
staging tree.

-serge

Quoting Dwight Engen (dwight.engen at 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 and the host
> system is Oracle or Fedora, the template assumes a type of veth and
> the default name created by libvirt.
> 
> Signed-off-by: Dwight Engen <dwight.engen at oracle.com>
> ---
>  templates/lxc-oracle.in |   17 +++++++++++++----
>  1 files changed, 13 insertions(+), 4 deletions(-)
> 
> diff --git a/templates/lxc-oracle.in b/templates/lxc-oracle.in
> index 84c3c33..f080dab 100644
> --- a/templates/lxc-oracle.in
> +++ b/templates/lxc-oracle.in
> @@ -250,7 +250,6 @@ 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"
> -    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
>  lxc.arch = $arch
> @@ -261,9 +260,19 @@ lxc.pts = 1024
>  lxc.rootfs = $container_rootfs
>  lxc.mount  = $cfg_dir/fstab
>  # Networking
> -lxc.network.type = $lxc_network_type
> -lxc.network.flags = up
> -lxc.network.link = $lxc_network_link
> +EOF
> +
> +    # see if the network settings were already specified
> +    lxc_network_type=`grep '^lxc.network.type' $cfg_dir/config | awk -F'[= \t]+' '{ print $2 }'`
> +    if [ -z "$lxc_network_type" -a			\
> +	 $host_distribution = "OracleServer" -o		\
> +	 $host_distribution = "Fedora" ]; then
> +	    echo "lxc.network.type = veth" >>$cfg_dir/config
> +	    echo "lxc.network.flags = up" >>$cfg_dir/config
> +	    echo "lxc.network.link = virbr0" >>$cfg_dir/config
> +    fi
> +
> +    cat <<EOF >> $cfg_dir/config || die "unable to create $cfg_dir/config"
>  lxc.network.name = eth0
>  lxc.network.mtu = 1500
>  lxc.network.hwaddr = $hwaddr
> -- 
> 1.7.1
> 




More information about the lxc-devel mailing list