On Wed, 2013-11-20 at 23:12 -0500, Michael H. Warfield wrote: > On Wed, 2013-11-20 at 21:39 -0600, Serge Hallyn wrote: > > Quoting Michael H. Warfield (m...@wittsend.com): > > > Added a file "lxc.service" for a systemd service file. > > > > > > Added a file "lxc-devsetup" to setup /dev/ on startup to support autodev > > > in containers. > > > > > > Service file references lxc-devsetup as an ExecStartPre command. The > > > lxc-devsetup script is not dependent on systemd or Fedora and can > > > be used at bootup on any system. > > > > > > Modified lxc.spec.in to install the two new files on Fedora. The systemd > > > specific code in the lxc.spec file may need some review and conditionalize > > > for systemd on non-systemd rpm-based systems. > > > Will systemd care that the lxc-startup specified in ExecStart and > > ExecStop doesn't exist?
> Not that I know of. And if it does, it's easy enough to stub off. But > that would be good to test. Let me qualify that a little bit. I realized my first answer was a bit short. If the ExecStart command does not exist, systemd will complain that the service failed if you try and start the service. But, the service is not "enabled" but default and, even if it was, has no fatal impact on the over all systemd operation. The logs will inform the user the startup command doesn't exist. No harm no foul and no negative impact. So, if this is installed, as is, on a target system, it has no impact at ll on anything until one of the two commands are run... systemctl start lxc.service and/or systemctl enable lxc.service In the case of the former, it will say the service failed and that the ExecStart command does not exist. No harm done and it informs the admin where he need to plug in his startup script. In the case of the later, rebooting the system will attempt to start lxc.service at boot time and fail but the failure will be informative and will not disrupt the boot process. Recurse back to case 1. Both of these cases are where I want to be right now. Once Stéphane has his pieces ready, we can glue them together with that ExecStart shim. ITMT, it gives us the framework on Fedora for setting up systemd and lxc to cooperate and others (such as myself) can use their own ExecStart scripts until these other pieces are ready. Regards, Mike > > > --- > > > lxc.spec.in | 8 ++++++++ > > > src/lxc/lxc-devsetup | 26 ++++++++++++++++++++++++++ > > > src/lxc/lxc.service | 18 ++++++++++++++++++ > > > 3 files changed, 52 insertions(+) > > > create mode 100755 src/lxc/lxc-devsetup > > > create mode 100644 src/lxc/lxc.service > > > > > > diff --git a/lxc.spec.in b/lxc.spec.in > > > index a6c96a2..3ef5881 100644 > > > --- a/lxc.spec.in > > > +++ b/lxc.spec.in > > > @@ -102,6 +102,11 @@ rm -rf %{buildroot} > > > make install DESTDIR=%{buildroot} > > > find %{buildroot} -type f -name '*.la' -exec rm -f {} ';' > > > > > > +# Install some of our systemd stuff... > > > +install -d -m 755 %{buildroot}/lib/systemd/system > > > +install -c -m 644 src/lxc/lxc.service %{buildroot}/lib/systemd/system > > > +install -c -m 755 src/lxc/lxc-devsetup > > > %{buildroot}/%{_libexecdir}/%{name} > > > + > > > %clean > > > rm -rf %{buildroot} > > > > > > @@ -131,6 +136,8 @@ rm -rf %{buildroot} > > > %{_datadir}/lxc/* > > > %config(noreplace) %{_sysconfdir}/lxc/* > > > > > > +/lib/systemd/system/* > > > + > > > %files libs > > > %defattr(-,root,root) > > > %{_libdir}/*.so.* > > > @@ -140,6 +147,7 @@ rm -rf %{buildroot} > > > %endif > > > %{_localstatedir}/* > > > %attr(4555,root,root) %{_libexecdir}/%{name}/lxc-init > > > +%attr(555,root,root) %{_libexecdir}/%{name}/lxc-devsetup > > > > > > %if %{with_lua} > > > %files lua > > > diff --git a/src/lxc/lxc-devsetup b/src/lxc/lxc-devsetup > > > new file mode 100755 > > > index 0000000..583a001 > > > --- /dev/null > > > +++ b/src/lxc/lxc-devsetup > > > @@ -0,0 +1,26 @@ > > > +#!/bin/sh - > > > + > > > +# lxc.devsetup - Setup host /dev for container /dev subdirectories. > > > + > > > +if [[ ! -d /dev/.lxc ]] > > > +then > > > + echo "Creating /dev/.lxc" > > > + mkdir /dev/.lxc > > > + chmod 755 /dev/.lxc > > > +fi > > > + > > > +if grep -q "/dev devtmpfs " /proc/self/mounts > > > +then > > > + echo "/dev is devtmpfs" > > > +else > > > + echo "/dev is not devtmpfs - mounting tmpfs on .lxc" > > > + mount -t tmpfs tmpfs /dev/.lxc > > > +fi > > > + > > > +if [[ ! -d /dev/.lxc/user ]] > > > +then > > > + echo "Creating /dev/.lxc/user" > > > + mkdir /dev/.lxc/user > > > + chmod 1777 /dev/.lxc/user > > > +fi > > > + > > > diff --git a/src/lxc/lxc.service b/src/lxc/lxc.service > > > new file mode 100644 > > > index 0000000..d3d3238 > > > --- /dev/null > > > +++ b/src/lxc/lxc.service > > > @@ -0,0 +1,18 @@ > > > +[Unit] > > > +Description=LXC Container Initialization and Autoboot Code > > > +After=syslog.target > > > + > > > +[Service] > > > +Type=oneshot > > > +RemainAfterExit=yes > > > +ExecStartPre=/usr/libexec/lxc/lxc-devsetup > > > +ExecStart=/usr/libexec/lxc/lxc-startup start > > > +ExecStop=/usr/libexec/lxc/lxc-startup stop > > > +# Environment=BOOTUP=serial > > > +# Environment=CONSOLETYPE=serial > > > +StandardOutput=syslog > > > +StandardError=syslog > > > + > > > +[Install] > > > +WantedBy=multi-user.target > > > + > > > -- > > > 1.8.3.1 > > > > > > > > > -- > > > Michael H. Warfield (AI4NB) | (770) 978-7061 | m...@wittsend.com > > > /\/\|=mhw=|\/\/ | (678) 463-0932 | > > > http://www.wittsend.com/mhw/ > > > NIC whois: MHW9 | An optimist believes we live in the best of > > > all > > > PGP Key: 0x674627FF | possible worlds. A pessimist is sure of it! > > > > > > > > > > > > ------------------------------------------------------------------------------ > > > November Webinars for C, C++, Fortran Developers > > > Accelerate application performance with scalable programming models. > > > Explore > > > techniques for threading, error checking, porting, and tuning. Get the > > > most > > > from the latest Intel processors and coprocessors. See abstracts and > > > register > > > http://pubads.g.doubleclick.net/gampad/clk?id=60136231&iu=/4140/ostg.clktrk > > > > > _______________________________________________ > > > Lxc-devel mailing list > > > Lxc-devel@lists.sourceforge.net > > > https://lists.sourceforge.net/lists/listinfo/lxc-devel > > > > > -- Michael H. Warfield (AI4NB) | (770) 978-7061 | m...@wittsend.com /\/\|=mhw=|\/\/ | (678) 463-0932 | http://www.wittsend.com/mhw/ NIC whois: MHW9 | An optimist believes we live in the best of all PGP Key: 0x674627FF | possible worlds. A pessimist is sure of it!
signature.asc
Description: This is a digitally signed message part
------------------------------------------------------------------------------ Shape the Mobile Experience: Free Subscription Software experts and developers: Be at the forefront of tech innovation. Intel(R) Software Adrenaline delivers strategic insight and game-changing conversations that shape the rapidly evolving mobile landscape. Sign up now. http://pubads.g.doubleclick.net/gampad/clk?id=63431311&iu=/4140/ostg.clktrk
_______________________________________________ Lxc-devel mailing list Lxc-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/lxc-devel