Export LXC_TARGET env variable in stop hook

Signed-off-by: Stéphane Graber <stgraber@ubuntu.com>
Acked-by: Serge E. Hallyn <serge.hallyn@ubuntu.com>
This commit is contained in:
Stéphane Graber 2015-12-03 00:52:58 -05:00
parent 114387972a
commit c154af98c1
2 changed files with 22 additions and 1 deletions

View File

@ -1566,7 +1566,19 @@ mknod errno 0
</listitem>
</varlistentry>
</variablelist>
<variablelist>
<varlistentry>
<term>
<option>LXC_TARGET</option>
</term>
<listitem>
<para>
Only for the stop hook. Is set to "stop" for a container
shutdown or "reboot" for a container reboot.
</para>
</listitem>
</varlistentry>
</variablelist>
</refsect2>
<refsect2>
<title>Logging</title>

View File

@ -522,8 +522,17 @@ void lxc_fini(const char *name, struct lxc_handler *handler)
}
}
namespaces[namespace_count] = NULL;
if (handler->conf->reboot && setenv("LXC_TARGET", "reboot", 1)) {
SYSERROR("failed to set environment variable for stop target");
}
if (!handler->conf->reboot && setenv("LXC_TARGET", "stop", 1)) {
SYSERROR("failed to set environment variable for stop target");
}
if (run_lxc_hooks(name, "stop", handler->conf, handler->lxcpath, namespaces))
ERROR("failed to run stop hooks for container '%s'.", name);
while (namespace_count--)
free(namespaces[namespace_count]);
for (i = 0; i < LXC_NS_MAX; i++) {