[lxc-devel] [PATCH] lxc-create: Require --template be passed
Stéphane Graber
stgraber at ubuntu.com
Fri Mar 7 20:57:46 UTC 2014
It's often been reported that the behavior of lxc-create without -t is a
bit confusing. This change makes lxc-create require the --template
option and introduces a new "none" special value which when set will
fallback to the old template-less behavior.
Signed-off-by: Stéphane Graber <stgraber at ubuntu.com>
---
doc/lxc-create.sgml.in | 1 +
src/lxc/lxc_create.c | 10 +++++++++-
2 files changed, 10 insertions(+), 1 deletion(-)
diff --git a/doc/lxc-create.sgml.in b/doc/lxc-create.sgml.in
index 03643c5..1c17c1a 100644
--- a/doc/lxc-create.sgml.in
+++ b/doc/lxc-create.sgml.in
@@ -115,6 +115,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
for details of the expected script structure.
Alternatively, the full path to an executable template script
can also be passed as a parameter.
+ "none" can be used to force lxc-create to skip rootfs creation.
</para>
</listitem>
</varlistentry>
diff --git a/src/lxc/lxc_create.c b/src/lxc/lxc_create.c
index eee6ffd..7de130d 100644
--- a/src/lxc/lxc_create.c
+++ b/src/lxc/lxc_create.c
@@ -132,7 +132,7 @@ static struct lxc_arguments my_args = {
.progname = "lxc-create",
.helpfn = create_helpfn,
.help = "\
---name=NAME [-w] [-r] [-t template] [-P lxcpath]\n\
+--name=NAME -t template [-w] [-r] [-P lxcpath]\n\
\n\
lxc-create creates a container\n\
\n\
@@ -203,6 +203,14 @@ int main(int argc, char *argv[])
exit(1);
lxc_log_options_no_override();
+ if (!my_args.template) {
+ fprintf(stderr, "A template must be specified.\nUse \"none\" if you really want a container without a rootfs.\n");
+ exit(1);
+ }
+
+ if (strcmp(my_args.template, "none") == 0)
+ my_args.template = NULL;
+
memset(&spec, 0, sizeof(spec));
if (!my_args.bdevtype)
my_args.bdevtype = "_unset";
--
1.9.0
More information about the lxc-devel
mailing list