Fixes "stores" property added to the image
"stores" property gets added to the image when `glance image-create-via-import` is called with --stores Change-Id: I514e6e3ac2f3a1f56fb7883ed403a04b1e7f13b0 Closes-Bug: #1889666
This commit is contained in:
parent
a29c6be97d
commit
77eab17cf9
glanceclient
releasenotes/notes
@ -1557,6 +1557,56 @@ class ShellV2Test(testtools.TestCase):
|
|||||||
'id': 'pass', 'name': 'IMG-01', 'disk_format': 'vhd',
|
'id': 'pass', 'name': 'IMG-01', 'disk_format': 'vhd',
|
||||||
'container_format': 'bare', 'status': 'queued'})
|
'container_format': 'bare', 'status': 'queued'})
|
||||||
|
|
||||||
|
@mock.patch('glanceclient.v2.shell.do_image_import')
|
||||||
|
@mock.patch('glanceclient.v2.shell.do_image_stage')
|
||||||
|
@mock.patch('sys.stdin', autospec=True)
|
||||||
|
def test_do_image_create_via_import_with_web_download_with_stores(
|
||||||
|
self, mock_stdin, mock_do_image_stage, mock_do_image_import):
|
||||||
|
temp_args = {'name': 'IMG-01',
|
||||||
|
'disk_format': 'vhd',
|
||||||
|
'container_format': 'bare',
|
||||||
|
'uri': 'http://example.com/image.qcow',
|
||||||
|
'import_method': 'web-download',
|
||||||
|
'progress': False,
|
||||||
|
'stores': 'file1,file2'}
|
||||||
|
tmp2_args = {'name': 'IMG-01',
|
||||||
|
'disk_format': 'vhd',
|
||||||
|
'container_format': 'bare',
|
||||||
|
'uri': 'http://example.com/image.qcow',
|
||||||
|
'import_method': 'web-download',
|
||||||
|
'progress': False}
|
||||||
|
args = self._make_args(temp_args)
|
||||||
|
with mock.patch.object(self.gc.images, 'create') as mocked_create:
|
||||||
|
with mock.patch.object(self.gc.images, 'get') as mocked_get:
|
||||||
|
with mock.patch.object(self.gc.images,
|
||||||
|
'get_import_info') as mocked_info:
|
||||||
|
with mock.patch.object(self.gc.images,
|
||||||
|
'get_stores_info') as m_stores_info:
|
||||||
|
|
||||||
|
ignore_fields = ['self', 'access', 'schema']
|
||||||
|
expect_image = dict([(field, field) for field in
|
||||||
|
ignore_fields])
|
||||||
|
expect_image['id'] = 'pass'
|
||||||
|
expect_image['name'] = 'IMG-01'
|
||||||
|
expect_image['disk_format'] = 'vhd'
|
||||||
|
expect_image['container_format'] = 'bare'
|
||||||
|
expect_image['status'] = 'queued'
|
||||||
|
mocked_create.return_value = expect_image
|
||||||
|
mocked_get.return_value = expect_image
|
||||||
|
mocked_info.return_value = self.import_info_response
|
||||||
|
m_stores_info.return_value = self.stores_info_response
|
||||||
|
mock_stdin.isatty = lambda: True
|
||||||
|
|
||||||
|
test_shell.do_image_create_via_import(self.gc, args)
|
||||||
|
mock_do_image_stage.assert_not_called()
|
||||||
|
mock_do_image_import.assert_called_once()
|
||||||
|
mocked_create.assert_called_once_with(**tmp2_args)
|
||||||
|
mocked_get.assert_called_with('pass')
|
||||||
|
utils.print_dict.assert_called_with({
|
||||||
|
'id': 'pass', 'name': 'IMG-01',
|
||||||
|
'disk_format': 'vhd',
|
||||||
|
'container_format': 'bare', 'status': 'queued'})
|
||||||
|
|
||||||
def test_do_image_update_no_user_props(self):
|
def test_do_image_update_no_user_props(self):
|
||||||
args = self._make_args({'id': 'pass', 'name': 'IMG-01',
|
args = self._make_args({'id': 'pass', 'name': 'IMG-01',
|
||||||
'disk_format': 'vhd',
|
'disk_format': 'vhd',
|
||||||
|
@ -235,6 +235,9 @@ def do_image_create_via_import(gc, args):
|
|||||||
# determine if backend is valid
|
# determine if backend is valid
|
||||||
_validate_backend(backend, gc)
|
_validate_backend(backend, gc)
|
||||||
elif stores:
|
elif stores:
|
||||||
|
# NOTE(jokke): Making sure here that we do not include the stores in
|
||||||
|
# the create call
|
||||||
|
fields.pop("stores")
|
||||||
stores = str(stores).split(',')
|
stores = str(stores).split(',')
|
||||||
for store in stores:
|
for store in stores:
|
||||||
# determine if backend is valid
|
# determine if backend is valid
|
||||||
|
6
releasenotes/notes/fix_1889666-22dc97ce577eccc6.yaml
Normal file
6
releasenotes/notes/fix_1889666-22dc97ce577eccc6.yaml
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
---
|
||||||
|
fixes:
|
||||||
|
- |
|
||||||
|
Bug 1889666_: 'stores' property added when using image-create-via-import --stores <list>
|
||||||
|
|
||||||
|
.. _1889666: https://bugs.launchpad.net/glance/+bug/1889666
|
Loading…
Reference in New Issue
Block a user