Skip to content

Commit

Permalink
add bdevtype to lxc create procedure
Browse files Browse the repository at this point in the history
Signed-off-by: Bieliaievskyi Sergey magelan09@gmail.com
  • Loading branch information
Bieiaievskyi Sergey committed Mar 10, 2015
1 parent 3b6aebc commit d1dd911
Show file tree
Hide file tree
Showing 2 changed files with 16 additions and 19 deletions.
10 changes: 5 additions & 5 deletions src/python-lxc/lxc.c
Expand Up @@ -801,11 +801,11 @@ Container_create(Container *self, PyObject *args, PyObject *kwds)
char** create_args = {NULL};
PyObject *retval = NULL;
PyObject *vargs = NULL;
char *bdevtype = NULL;
int i = 0;
static char *kwlist[] = {"template", "flags", "args", NULL};

if (! PyArg_ParseTupleAndKeywords(args, kwds, "|siO", kwlist,
&template_name, &flags, &vargs))
static char *kwlist[] = {"template", "flags", "bdevtype", "args", NULL};
if (! PyArg_ParseTupleAndKeywords(args, kwds, "|sisO", kwlist,
&template_name, &flags, &bdevtype, &vargs))
return NULL;

if (vargs) {
Expand All @@ -821,7 +821,7 @@ Container_create(Container *self, PyObject *args, PyObject *kwds)
}
}

if (self->container->create(self->container, template_name, NULL, NULL,
if (self->container->create(self->container, template_name, bdevtype, NULL,
flags, create_args))
retval = Py_True;
else
Expand Down
25 changes: 11 additions & 14 deletions src/python-lxc/lxc/__init__.py
Expand Up @@ -205,7 +205,7 @@ def append_config_item(self, key, value):

return _lxc.Container.set_config_item(self, key, value)

def create(self, template=None, flags=0, args=()):
def create(self, template=None, flags=0, args=(), bdevtype=None):
"""
Create a new rootfs for the container.
Expand All @@ -217,22 +217,19 @@ def create(self, template=None, flags=0, args=()):
"args" (optional) is a tuple of arguments to pass to the
template. It can also be provided as a dict.
"""

if isinstance(args, dict):
template_args = []
tmp_args = []
for item in args.items():
template_args.append("--%s" % item[0])
template_args.append("%s" % item[1])
else:
template_args = args

tmp_args.append("--%s" % item[0])
tmp_args.append("%s" % item[1])
template_args = {}
if template:
return _lxc.Container.create(self, template=template,
flags=flags,
args=tuple(template_args))
else:
return _lxc.Container.create(self, flags=flags,
args=tuple(template_args))
template_args['template'] = template
template_args['flags'] = flags
template_args['args'] = tuple(tmp_args)
if bdevtype:
template_args['bdevtype'] = bdevtype
return _lxc.Container.create(self, **template_args)

def clone(self, newname, config_path=None, flags=0, bdevtype=None,
bdevdata=None, newsize=0, hookargs=()):
Expand Down

0 comments on commit d1dd911

Please sign in to comment.