mirror of
https://git.proxmox.com/git/mirror_lxc
synced 2025-08-07 10:57:17 +00:00
add --define to restart V2
Signed-off-by: Cedric Le Goater <clg@fr.ibm.com> Signed-off-by: Daniel Lezcano <dlezcano@fr.ibm.com>
This commit is contained in:
parent
b75afd9089
commit
4357db9a06
@ -37,6 +37,8 @@
|
|||||||
|
|
||||||
lxc_log_define(lxc_restart_ui, lxc_restart);
|
lxc_log_define(lxc_restart_ui, lxc_restart);
|
||||||
|
|
||||||
|
static struct lxc_list defines;
|
||||||
|
|
||||||
static int my_checker(const struct lxc_arguments* args)
|
static int my_checker(const struct lxc_arguments* args)
|
||||||
{
|
{
|
||||||
if (!args->statefile) {
|
if (!args->statefile) {
|
||||||
@ -53,6 +55,7 @@ static int my_parser(struct lxc_arguments* args, int c, char* arg)
|
|||||||
case 'd': args->statefile = arg; break;
|
case 'd': args->statefile = arg; break;
|
||||||
case 'f': args->rcfile = arg; break;
|
case 'f': args->rcfile = arg; break;
|
||||||
case 'p': args->flags = LXC_FLAG_PAUSE; break;
|
case 'p': args->flags = LXC_FLAG_PAUSE; break;
|
||||||
|
case 's': return lxc_config_define_add(&defines, arg);
|
||||||
}
|
}
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
@ -62,6 +65,7 @@ static const struct option my_longopts[] = {
|
|||||||
{"directory", required_argument, 0, 'd'},
|
{"directory", required_argument, 0, 'd'},
|
||||||
{"rcfile", required_argument, 0, 'f'},
|
{"rcfile", required_argument, 0, 'f'},
|
||||||
{"pause", no_argument, 0, 'p'},
|
{"pause", no_argument, 0, 'p'},
|
||||||
|
{"define", required_argument, 0, 's'},
|
||||||
LXC_COMMON_OPTIONS
|
LXC_COMMON_OPTIONS
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -76,7 +80,8 @@ Options :\n\
|
|||||||
-n, --name=NAME NAME for name of the container\n\
|
-n, --name=NAME NAME for name of the container\n\
|
||||||
-p, --pause do not release the container after the restart\n\
|
-p, --pause do not release the container after the restart\n\
|
||||||
-d, --directory=STATEFILE for name of statefile\n\
|
-d, --directory=STATEFILE for name of statefile\n\
|
||||||
-f, --rcfile=FILE Load configuration file FILE\n",
|
-f, --rcfile=FILE Load configuration file FILE\n\
|
||||||
|
-s, --define KEY=VAL Assign VAL to configuration variable KEY\n",
|
||||||
.options = my_longopts,
|
.options = my_longopts,
|
||||||
.parser = my_parser,
|
.parser = my_parser,
|
||||||
.checker = my_checker,
|
.checker = my_checker,
|
||||||
@ -87,6 +92,8 @@ int main(int argc, char *argv[])
|
|||||||
char *rcfile = NULL;
|
char *rcfile = NULL;
|
||||||
struct lxc_conf *conf;
|
struct lxc_conf *conf;
|
||||||
|
|
||||||
|
lxc_list_init(&defines);
|
||||||
|
|
||||||
if (lxc_arguments_parse(&my_args, argc, argv))
|
if (lxc_arguments_parse(&my_args, argc, argv))
|
||||||
return -1;
|
return -1;
|
||||||
|
|
||||||
@ -121,6 +128,9 @@ int main(int argc, char *argv[])
|
|||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (lxc_config_define_load(&defines, conf))
|
||||||
|
return -1;
|
||||||
|
|
||||||
return lxc_restart(my_args.name, my_args.statefile, conf,
|
return lxc_restart(my_args.name, my_args.statefile, conf,
|
||||||
my_args.flags);
|
my_args.flags);
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user