[lxc-devel] [PATCH] ubuntu: Fix regression in post-process

S.Çağlar Onur caglar at 10ur.org
Sun Dec 1 18:21:29 UTC 2013


Hey Stéphane,

On Wed, Nov 27, 2013 at 7:49 PM, Stéphane Graber <stgraber at ubuntu.com> wrote:
> THe recent reorg of lxc-ubuntu introduced some package installation in
> post-process but without first disabling service startup.
>
> As a result, if the cache is a bit out of date and a ssh update is
> available, post-process will apply that update (as it does apt-get
> install ssh vim) which in turn will attemp to start sshd. This will
> either lead to ssh on the host being restarted or if there's no sshd on
> the host, will fail the container creation as the postinst will get an
> error from upstart.
>
> The fix is very simply to add the same policy-rc.d trick when running
> post-process.

I'm not sure whether this is the desired outcome (I haven't taken a
look at it yet) but it looks like after this change "lxc-create -n t
-t ubuntu" started to take more time (order of couple of minutes) to
complete. This wasn't the case couple of weeks ago, when I last tried
creating an ubuntu container. I flushed the cache thinking that it's
age is the problem but it didn't change anything, container still
tries to install (or maybe upgrade) additional packages (I think vim
and ssh) via apt. Is there a reason not to include those additional
packages in the initial bootstrap phase?

> Signed-off-by: Stéphane Graber <stgraber at ubuntu.com>
> ---
>  templates/lxc-ubuntu.in | 10 ++++++++++
>  1 file changed, 10 insertions(+)
>
> diff --git a/templates/lxc-ubuntu.in b/templates/lxc-ubuntu.in
> index ac39ed2..4e6a54f 100644
> --- a/templates/lxc-ubuntu.in
> +++ b/templates/lxc-ubuntu.in
> @@ -467,6 +467,13 @@ post_process()
>      release=$2
>      packages=$3
>
> +    # Disable service startup
> +    cat > $rootfs/usr/sbin/policy-rc.d << EOF
> +#!/bin/sh
> +exit 101
> +EOF
> +    chmod +x $rootfs/usr/sbin/policy-rc.d
> +
>      if [ ! -f $rootfs/etc/init/container-detect.conf ]; then
>          # Make sure we have a working resolv.conf
>          cresolvonf="${rootfs}/etc/resolv.conf"
> @@ -538,6 +545,9 @@ post_process()
>          mv $rootfs/dev/shm $rootfs/dev/shm.bak
>          ln -s /run/shm $rootfs/dev/shm
>      fi
> +
> +    # Re-enable service startup
> +    rm $rootfs/usr/sbin/policy-rc.d
>  }
>
>  do_bindhome()
> --
> 1.8.4.4
>
>
> ------------------------------------------------------------------------------
> Rapidly troubleshoot problems before they affect your business. Most IT
> organizations don't have a clear picture of how application performance
> affects their revenue. With AppDynamics, you get 100% visibility into your
> Java,.NET, & PHP application. Start your 15-day FREE TRIAL of AppDynamics Pro!
> http://pubads.g.doubleclick.net/gampad/clk?id=84349351&iu=/4140/ostg.clktrk
> _______________________________________________
> Lxc-devel mailing list
> Lxc-devel at lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/lxc-devel



-- 
S.Çağlar Onur <caglar at 10ur.org>




More information about the lxc-devel mailing list