Merge "Support rename a container"

This commit is contained in:
Jenkins 2017-01-16 10:09:20 +00:00 committed by Gerrit Code Review
commit edb07a1be9
3 changed files with 34 additions and 0 deletions

View File

@ -51,6 +51,7 @@ del CREATE_CONTAINER1['uuid']
force_delete1 = False
force_delete2 = True
signal = "SIGTERM"
name = "new-name"
fake_responses = {
'/v1/containers':
@ -200,6 +201,14 @@ fake_responses = {
CREATE_CONTAINER1,
),
},
'/v1/containers/%s/rename?%s' % (CONTAINER1['id'],
parse.urlencode({'name': name})):
{
'POST': (
{},
None,
),
},
}
@ -424,3 +433,13 @@ class ContainerManagerTest(testtools.TestCase):
','.join(containers.CREATION_ATTRIBUTES)),
self.mgr.run, **run_container_fail)
self.assertEqual([], self.api.calls)
def test_containers_rename(self):
containers = self.mgr.rename(CONTAINER1['id'], name)
expect = [
('POST', '/v1/containers/%s/rename?%s'
% (CONTAINER1['id'], parse.urlencode({'name': name})),
{'Content-Length': '0'}, None)
]
self.assertEqual(expect, self.api.calls)
self.assertTrue(containers)

View File

@ -148,3 +148,7 @@ class ContainerManager(base.Manager):
"Key must be in %s" % ','.join(CREATION_ATTRIBUTES))
else:
return self._create(self._path() + '?run=true', kwargs)
def rename(self, id, name):
return self._action(id, '/rename',
qparams={'name': name})

View File

@ -335,3 +335,14 @@ def do_run(cs, args):
opts['labels'] = zun_utils.format_args(args.label)
opts['image_pull_policy'] = args.image_pull_policy
_show_container(cs.containers.run(**opts))
@utils.arg('container',
metavar='<container>',
help='ID or name of the container to rename.')
@utils.arg('name',
metavar='<name>',
help='The new name for the container')
def do_rename(cs, args):
"""Rename a container."""
cs.containers.rename(args.container, args.name)