Add private parameter for runtime creation

The --private parameter is optional paramter
for runtime creation. This parameter makes
the runtime private. The runtime is public
by default.

Change-Id: I4f2b57ff140410a49f49f01d7af28b9e8fded8ec
Story: 2005919
Task: 34180
This commit is contained in:
Ritesh 2020-04-06 21:04:23 +00:00
parent 39a95b6354
commit b0c73badda
4 changed files with 25 additions and 6 deletions

View File

@ -46,6 +46,13 @@ class Create(command.ShowOne):
"--description",
help="Runtime description.",
)
parser.add_argument(
"--private",
dest='is_public',
action='store_false',
help="Create private runtime or not, will create public"
"runtime if not specified",
)
parser.add_argument(
"--untrusted",
dest='trusted',
@ -63,6 +70,7 @@ class Create(command.ShowOne):
name=parsed_args.name,
description=parsed_args.description,
image=parsed_args.image,
is_public=parsed_args.is_public,
trusted=parsed_args.trusted
)

View File

@ -127,6 +127,7 @@ class TestCreateRuntime(TestRuntime):
('name', None),
('description', None),
('trusted', True),
('is_public', True),
]
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
@ -137,6 +138,7 @@ class TestCreateRuntime(TestRuntime):
'description': None,
'image': image,
'trusted': True,
'is_public': True,
})
self.assertEqual(self.columns, columns)
self.assertEqual(created_data, data)
@ -146,14 +148,17 @@ class TestCreateRuntime(TestRuntime):
name = 'specified-runtime-name'
description = 'specified-runtime-description'
trusted = False
is_public = False
attrs = {'image': image, 'name': name,
'description': description, 'trusted': trusted}
'description': description, 'trusted': trusted,
'is_public': is_public}
created_data = self._create_fake_runtime(attrs)
arglist = [
'--name', name,
'--description', description,
'--untrusted',
'--private',
image,
]
verifylist = [
@ -161,6 +166,7 @@ class TestCreateRuntime(TestRuntime):
('name', name),
('description', description),
('trusted', trusted),
('is_public', is_public)
]
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
@ -171,6 +177,7 @@ class TestCreateRuntime(TestRuntime):
'description': description,
'image': image,
'trusted': trusted,
'is_public': is_public,
})
self.assertEqual(self.columns, columns)
self.assertEqual(created_data, data)

View File

@ -50,7 +50,8 @@ class TestRuntime(test_client.TestQinlingClient):
def test_create_runtime(self):
image_name = 'image_name'
request_data = {'image': image_name, 'trusted': True}
request_data = {'image': image_name, 'trusted': True,
'is_public': True}
self.requests_mock.register_uri(
'POST',
@ -70,9 +71,11 @@ class TestRuntime(test_client.TestQinlingClient):
runtime_name = 'runtime_name'
description = 'A newly created runtime.'
trusted = False
is_public = False
request_data = {'image': image_name, 'trusted': trusted,
'name': runtime_name, 'description': description}
'name': runtime_name, 'is_public': is_public,
'description': description}
self.requests_mock.register_uri(
'POST',
test_client.QINLING_URL + '/v1/runtimes',
@ -83,7 +86,7 @@ class TestRuntime(test_client.TestQinlingClient):
ret = self.client.runtimes.create(
image_name, name=runtime_name, description=description,
trusted=False
trusted=False, is_public = False,
)
self.assertEqual(RUNTIME_1, ret.to_dict())

View File

@ -25,8 +25,9 @@ class RuntimeManager(base.ManagerWithFind):
def list(self, **kwargs):
return self._list("/v1/runtimes", response_key='runtimes')
def create(self, image, name=None, description=None, trusted=True):
data = {'image': image, 'trusted': trusted}
def create(self, image, name=None, description=None,
is_public=True, trusted=True):
data = {'image': image, 'is_public': is_public, 'trusted': trusted}
if name:
data.update({'name': name})
if description: