Restore behavior of image create with same name.

With 60e7c51df4 the behaviour of
`openstack image create` changed so that you can't create an image
with the same name. This patch restores the previous functionality.

Story: 2008229
Task: 41069

Change-Id: Ia0f4920371a918e94d1ccf9fcfcbf90ff885a455
This commit is contained in:
Sam Morrison 2020-10-06 14:03:19 +11:00
parent 098a3fe2de
commit 17678c9bd6
3 changed files with 12 additions and 2 deletions

View File

@ -354,7 +354,7 @@ class CreateImage(command.ShowOne):
# Build an attribute dict from the parsed args, only include # Build an attribute dict from the parsed args, only include
# attributes that were actually set on the command line # attributes that were actually set on the command line
kwargs = {} kwargs = {'allow_duplicates': True}
copy_attrs = ('name', 'id', copy_attrs = ('name', 'id',
'container_format', 'disk_format', 'container_format', 'disk_format',
'min_disk', 'min_ram', 'tags', 'visibility') 'min_disk', 'min_ram', 'tags', 'visibility')

View File

@ -100,6 +100,7 @@ class TestImageCreate(TestImage):
# ImageManager.create(name=, **) # ImageManager.create(name=, **)
self.client.create_image.assert_called_with( self.client.create_image.assert_called_with(
name=self.new_image.name, name=self.new_image.name,
allow_duplicates=True,
container_format=image.DEFAULT_CONTAINER_FORMAT, container_format=image.DEFAULT_CONTAINER_FORMAT,
disk_format=image.DEFAULT_DISK_FORMAT, disk_format=image.DEFAULT_DISK_FORMAT,
) )
@ -152,6 +153,7 @@ class TestImageCreate(TestImage):
# ImageManager.create(name=, **) # ImageManager.create(name=, **)
self.client.create_image.assert_called_with( self.client.create_image.assert_called_with(
name=self.new_image.name, name=self.new_image.name,
allow_duplicates=True,
container_format='ovf', container_format='ovf',
disk_format='ami', disk_format='ami',
min_disk=10, min_disk=10,
@ -239,6 +241,7 @@ class TestImageCreate(TestImage):
# ImageManager.create(name=, **) # ImageManager.create(name=, **)
self.client.create_image.assert_called_with( self.client.create_image.assert_called_with(
name=self.new_image.name, name=self.new_image.name,
allow_duplicates=True,
container_format=image.DEFAULT_CONTAINER_FORMAT, container_format=image.DEFAULT_CONTAINER_FORMAT,
disk_format=image.DEFAULT_DISK_FORMAT, disk_format=image.DEFAULT_DISK_FORMAT,
is_protected=self.new_image.is_protected, is_protected=self.new_image.is_protected,
@ -246,7 +249,7 @@ class TestImageCreate(TestImage):
Alpha='1', Alpha='1',
Beta='2', Beta='2',
tags=self.new_image.tags, tags=self.new_image.tags,
filename=imagefile.name filename=imagefile.name,
) )
self.assertEqual( self.assertEqual(
@ -288,6 +291,7 @@ class TestImageCreate(TestImage):
# ImageManager.create(name=, **) # ImageManager.create(name=, **)
self.client.create_image.assert_called_with( self.client.create_image.assert_called_with(
name=self.new_image.name, name=self.new_image.name,
allow_duplicates=True,
container_format=image.DEFAULT_CONTAINER_FORMAT, container_format=image.DEFAULT_CONTAINER_FORMAT,
disk_format=image.DEFAULT_DISK_FORMAT, disk_format=image.DEFAULT_DISK_FORMAT,
use_import=True use_import=True

View File

@ -0,0 +1,6 @@
---
fixes:
- |
Fixes default behaviour of `openstack image create` in allowing images
with the same name. In version 5.2.0 this changed to not allow
duplicates by default.