Merge "Remove amp_image_id option"

This commit is contained in:
Zuul 2020-06-30 17:54:32 +00:00 committed by Gerrit Code Review
commit b8a351092f
12 changed files with 46 additions and 106 deletions

View File

@ -281,7 +281,6 @@
# amp_active_wait_sec = 10 # amp_active_wait_sec = 10
# Glance parameters to extract image ID to use for amphora. Only one of # Glance parameters to extract image ID to use for amphora. Only one of
# parameters is needed. Using tags is the recommended way to refer to images. # parameters is needed. Using tags is the recommended way to refer to images.
# amp_image_id =
# amp_image_tag = # amp_image_tag =
# Optional owner ID used to restrict glance images to one owner ID. # Optional owner ID used to restrict glance images to one owner ID.
# This is a recommended security setting. # This is a recommended security setting.

View File

@ -433,13 +433,7 @@ controller_worker_opts = [
default='', default='',
help=_('Glance image tag for the Amphora image to boot. ' help=_('Glance image tag for the Amphora image to boot. '
'Use this option to be able to update the image ' 'Use this option to be able to update the image '
'without reconfiguring Octavia. ' 'without reconfiguring Octavia.')),
'Ignored if amp_image_id is defined.')),
cfg.StrOpt('amp_image_id',
default='',
deprecated_for_removal=True,
deprecated_reason='Superseded by amp_image_tag option.',
help=_('Glance image id for the Amphora image to boot')),
cfg.StrOpt('amp_image_owner_id', cfg.StrOpt('amp_image_owner_id',
default='', default='',
help=_('Restrict glance image selection to a specific ' help=_('Restrict glance image selection to a specific '

View File

@ -19,15 +19,13 @@ class ComputeBase(object, metaclass=abc.ABCMeta):
@abc.abstractmethod @abc.abstractmethod
def build(self, name="amphora_name", amphora_flavor=None, def build(self, name="amphora_name", amphora_flavor=None,
image_id=None, image_tag=None, image_owner=None, image_tag=None, image_owner=None, key_name=None, sec_groups=None,
key_name=None, sec_groups=None, network_ids=None, network_ids=None, config_drive_files=None, user_data=None,
config_drive_files=None, user_data=None, server_group_id=None, server_group_id=None, availability_zone=None):
availability_zone=None):
"""Build a new amphora. """Build a new amphora.
:param name: Optional name for Amphora :param name: Optional name for Amphora
:param amphora_flavor: Optionally specify a flavor :param amphora_flavor: Optionally specify a flavor
:param image_id: ID of the base image for the amphora instance
:param image_tag: tag of the base image for the amphora instance :param image_tag: tag of the base image for the amphora instance
:param key_name: Optionally specify a keypair :param key_name: Optionally specify a keypair
:param sec_groups: Optionally specify list of security groups :param sec_groups: Optionally specify list of security groups

View File

@ -29,24 +29,22 @@ class NoopManager(object):
self.computeconfig = {} self.computeconfig = {}
def build(self, name="amphora_name", amphora_flavor=None, def build(self, name="amphora_name", amphora_flavor=None,
image_id=None, image_tag=None, image_owner=None, image_tag=None, image_owner=None, key_name=None, sec_groups=None,
key_name=None, sec_groups=None, network_ids=None, network_ids=None, config_drive_files=None, user_data=None,
config_drive_files=None, user_data=None, port_ids=None, port_ids=None, server_group_id=None, availability_zone=None):
server_group_id=None, availability_zone=None):
LOG.debug("Compute %s no-op, build name %s, amphora_flavor %s, " LOG.debug("Compute %s no-op, build name %s, amphora_flavor %s, "
"image_id %s, image_tag %s, image_owner %s, key_name %s, " "image_tag %s, image_owner %s, key_name %s, sec_groups %s, "
"sec_groups %s, network_ids %s, config_drive_files %s, " "network_ids %s, config_drive_files %s, user_data %s, "
"user_data %s, port_ids %s, server_group_id %s, " "port_ids %s, server_group_id %s, availability_zone %s",
"availability_zone %s",
self.__class__.__name__, self.__class__.__name__,
name, amphora_flavor, image_id, image_tag, image_owner, name, amphora_flavor, image_tag, image_owner,
key_name, sec_groups, network_ids, config_drive_files, key_name, sec_groups, network_ids, config_drive_files,
user_data, port_ids, server_group_id, availability_zone) user_data, port_ids, server_group_id, availability_zone)
self.computeconfig[(name, amphora_flavor, image_id, image_tag, self.computeconfig[(name, amphora_flavor, image_tag,
image_owner, key_name, user_data, image_owner, key_name, user_data,
server_group_id)] = ( server_group_id)] = (
name, amphora_flavor, name, amphora_flavor,
image_id, image_tag, image_owner, key_name, sec_groups, image_tag, image_owner, key_name, sec_groups,
network_ids, config_drive_files, user_data, port_ids, network_ids, config_drive_files, user_data, port_ids,
server_group_id, 'build') server_group_id, 'build')
compute_id = uuidutils.generate_uuid() compute_id = uuidutils.generate_uuid()
@ -126,13 +124,12 @@ class NoopComputeDriver(driver_base.ComputeBase):
self.driver = NoopManager() self.driver = NoopManager()
def build(self, name="amphora_name", amphora_flavor=None, def build(self, name="amphora_name", amphora_flavor=None,
image_id=None, image_tag=None, image_owner=None, image_tag=None, image_owner=None, key_name=None, sec_groups=None,
key_name=None, sec_groups=None, network_ids=None, network_ids=None, config_drive_files=None, user_data=None,
config_drive_files=None, user_data=None, port_ids=None, port_ids=None, server_group_id=None, availability_zone=None):
server_group_id=None, availability_zone=None):
compute_id = self.driver.build(name, amphora_flavor, compute_id = self.driver.build(name, amphora_flavor,
image_id, image_tag, image_owner, image_tag, image_owner,
key_name, sec_groups, network_ids, key_name, sec_groups, network_ids,
config_drive_files, user_data, port_ids, config_drive_files, user_data, port_ids,
server_group_id, availability_zone) server_group_id, availability_zone)

View File

@ -57,16 +57,6 @@ def _extract_amp_image_id_by_tag(client, image_tag, image_owner):
return image_id return image_id
def _get_image_uuid(client, image_id, image_tag, image_owner):
if image_id:
if image_tag:
LOG.warning("Both amp_image_id and amp_image_tag options defined. "
"Using the amp_image_id.")
return image_id
return _extract_amp_image_id_by_tag(client, image_tag, image_owner)
class VirtualMachineManager(compute_base.ComputeBase): class VirtualMachineManager(compute_base.ComputeBase):
'''Compute implementation of virtual machines via nova.''' '''Compute implementation of virtual machines via nova.'''
@ -97,15 +87,13 @@ class VirtualMachineManager(compute_base.ComputeBase):
).driver ).driver
def build(self, name="amphora_name", amphora_flavor=None, def build(self, name="amphora_name", amphora_flavor=None,
image_id=None, image_tag=None, image_owner=None, image_tag=None, image_owner=None, key_name=None, sec_groups=None,
key_name=None, sec_groups=None, network_ids=None, network_ids=None, port_ids=None, config_drive_files=None,
port_ids=None, config_drive_files=None, user_data=None, user_data=None, server_group_id=None, availability_zone=None):
server_group_id=None, availability_zone=None):
'''Create a new virtual machine. '''Create a new virtual machine.
:param name: optional name for amphora :param name: optional name for amphora
:param amphora_flavor: image flavor for virtual machine :param amphora_flavor: image flavor for virtual machine
:param image_id: image ID for virtual machine
:param image_tag: image tag for virtual machine :param image_tag: image tag for virtual machine
:param key_name: keypair to add to the virtual machine :param key_name: keypair to add to the virtual machine
:param sec_groups: Security group IDs for virtual machine :param sec_groups: Security group IDs for virtual machine
@ -144,8 +132,8 @@ class VirtualMachineManager(compute_base.ComputeBase):
"group": server_group_id} "group": server_group_id}
az_name = availability_zone or CONF.nova.availability_zone az_name = availability_zone or CONF.nova.availability_zone
image_id = _get_image_uuid( image_id = _extract_amp_image_id_by_tag(
self._glance_client, image_id, image_tag, image_owner) self._glance_client, image_tag, image_owner)
if CONF.nova.random_amphora_name_length: if CONF.nova.random_amphora_name_length:
r = random.SystemRandom() r = random.SystemRandom()

View File

@ -108,7 +108,6 @@ class ComputeCreate(BaseComputeTask):
compute_id = self.compute.build( compute_id = self.compute.build(
name="amphora-" + amphora_id, name="amphora-" + amphora_id,
amphora_flavor=amp_compute_flavor, amphora_flavor=amp_compute_flavor,
image_id=CONF.controller_worker.amp_image_id,
image_tag=CONF.controller_worker.amp_image_tag, image_tag=CONF.controller_worker.amp_image_tag,
image_owner=CONF.controller_worker.amp_image_owner_id, image_owner=CONF.controller_worker.amp_image_owner_id,
key_name=key_name, key_name=key_name,

View File

@ -113,7 +113,6 @@ class ComputeCreate(BaseComputeTask):
compute_id = self.compute.build( compute_id = self.compute.build(
name="amphora-" + amphora_id, name="amphora-" + amphora_id,
amphora_flavor=amp_compute_flavor, amphora_flavor=amp_compute_flavor,
image_id=CONF.controller_worker.amp_image_id,
image_tag=CONF.controller_worker.amp_image_tag, image_tag=CONF.controller_worker.amp_image_tag,
image_owner=CONF.controller_worker.amp_image_owner_id, image_owner=CONF.controller_worker.amp_image_owner_id,
key_name=key_name, key_name=key_name,

View File

@ -32,7 +32,6 @@ class TestNoopComputeDriver(base.TestCase):
self.name = "amphora_name" self.name = "amphora_name"
self.amphora_flavor = "m1.tiny" self.amphora_flavor = "m1.tiny"
self.image_id = self.FAKE_UUID_1
self.image_tag = "faketag" self.image_tag = "faketag"
self.image_owner = self.FAKE_UUID_2 self.image_owner = self.FAKE_UUID_2
self.key_name = "key_name" self.key_name = "key_name"
@ -54,20 +53,19 @@ class TestNoopComputeDriver(base.TestCase):
def test_build(self): def test_build(self):
self.driver.build(self.name, self.amphora_flavor, self.driver.build(self.name, self.amphora_flavor,
self.image_id, self.image_tag, self.image_owner, self.image_tag, self.image_owner,
self.key_name, self.sec_groups, self.network_ids, self.key_name, self.sec_groups, self.network_ids,
self.confdrivefiles, self.user_data, self.port_ids, self.confdrivefiles, self.user_data, self.port_ids,
self.server_group_id) self.server_group_id)
self.assertEqual((self.name, self.amphora_flavor, self.assertEqual((self.name, self.amphora_flavor,
self.image_id, self.image_tag, self.image_owner, self.image_tag, self.image_owner,
self.key_name, self.sec_groups, self.network_ids, self.key_name, self.sec_groups, self.network_ids,
self.confdrivefiles, self.user_data, self.port_ids, self.confdrivefiles, self.user_data, self.port_ids,
self.server_group_id, 'build'), self.server_group_id, 'build'),
self.driver.driver.computeconfig[( self.driver.driver.computeconfig[(
self.name, self.name,
self.amphora_flavor, self.amphora_flavor,
self.image_id,
self.image_tag, self.image_tag,
self.image_owner, self.image_owner,
self.key_name, self.key_name,

View File

@ -29,29 +29,6 @@ import octavia.tests.unit.base as base
CONF = cfg.CONF CONF = cfg.CONF
class Test_GetImageUuid(base.TestCase):
def test__get_image_uuid_tag(self):
client = mock.Mock()
with mock.patch.object(nova_common,
'_extract_amp_image_id_by_tag',
return_value='fakeid') as extract:
image_id = nova_common._get_image_uuid(client, '', 'faketag', None)
self.assertEqual('fakeid', image_id)
extract.assert_called_with(client, 'faketag', None)
def test__get_image_uuid_notag(self):
client = mock.Mock()
image_id = nova_common._get_image_uuid(client, 'fakeid', '', None)
self.assertEqual('fakeid', image_id)
def test__get_image_uuid_id_beats_tag(self):
client = mock.Mock()
image_id = nova_common._get_image_uuid(client, 'fakeid',
'faketag', None)
self.assertEqual('fakeid', image_id)
class Test_ExtractAmpImageIdByTag(base.TestCase): class Test_ExtractAmpImageIdByTag(base.TestCase):
def setUp(self): def setUp(self):
@ -158,10 +135,16 @@ class TestNovaClient(base.TestCase):
self.flavor_id = uuidutils.generate_uuid() self.flavor_id = uuidutils.generate_uuid()
self.availability_zone = 'my_test_az' self.availability_zone = 'my_test_az'
self.mock_image_tag = mock.patch(
'octavia.compute.drivers.nova_driver.'
'_extract_amp_image_id_by_tag').start()
self.mock_image_tag.return_value = 1
self.addCleanup(self.mock_image_tag.stop)
super(TestNovaClient, self).setUp() super(TestNovaClient, self).setUp()
def test_build(self): def test_build(self):
amphora_id = self.manager.build(amphora_flavor=1, image_id=1, amphora_id = self.manager.build(amphora_flavor=1, image_tag='stout',
key_name=1, key_name=1,
sec_groups=1, sec_groups=1,
network_ids=[1], network_ids=[1],
@ -192,7 +175,7 @@ class TestNovaClient(base.TestCase):
volume_driver='volume_cinder_driver') volume_driver='volume_cinder_driver')
self.manager.volume_driver = mock_driver self.manager.volume_driver = mock_driver
mock_driver.create_volume_from_image.return_value = 1 mock_driver.create_volume_from_image.return_value = 1
amphora_id = self.manager.build(amphora_flavor=1, image_id=1, amphora_id = self.manager.build(amphora_flavor=1, image_tag='pilsner',
key_name=1, key_name=1,
sec_groups=1, sec_groups=1,
network_ids=[1], network_ids=[1],
@ -220,7 +203,7 @@ class TestNovaClient(base.TestCase):
def test_build_with_availability_zone(self): def test_build_with_availability_zone(self):
FAKE_AZ = "my_availability_zone" FAKE_AZ = "my_availability_zone"
amphora_id = self.manager.build(amphora_flavor=1, image_id=1, amphora_id = self.manager.build(amphora_flavor=1, image_tag='malt',
key_name=1, key_name=1,
sec_groups=1, sec_groups=1,
network_ids=[1], network_ids=[1],
@ -250,7 +233,7 @@ class TestNovaClient(base.TestCase):
FAKE_AZ = "my_availability_zone" FAKE_AZ = "my_availability_zone"
self.conf.config(group="nova", availability_zone=FAKE_AZ) self.conf.config(group="nova", availability_zone=FAKE_AZ)
amphora_id = self.manager.build(amphora_flavor=1, image_id=1, amphora_id = self.manager.build(amphora_flavor=1, image_tag='ipa',
key_name=1, key_name=1,
sec_groups=1, sec_groups=1,
network_ids=[1], network_ids=[1],
@ -280,14 +263,14 @@ class TestNovaClient(base.TestCase):
self.addCleanup(self.conf.config, self.addCleanup(self.conf.config,
group='nova', random_amphora_name_length=0) group='nova', random_amphora_name_length=0)
self.manager.build(name="b" * 50, image_id=1) self.manager.build(name="b" * 50)
self.assertEqual( self.assertEqual(
15, len(self.manager.manager.create.call_args[1]['name'])) 15, len(self.manager.manager.create.call_args[1]['name']))
def test_build_with_default_boot_network(self): def test_build_with_default_boot_network(self):
self.conf.config(group="controller_worker", self.conf.config(group="controller_worker",
amp_boot_network_list='') amp_boot_network_list='')
amphora_id = self.manager.build(amphora_flavor=1, image_id=1, amphora_id = self.manager.build(amphora_flavor=1, image_tag='porter',
key_name=1, key_name=1,
sec_groups=1, sec_groups=1,
network_ids=None, network_ids=None,
@ -317,16 +300,11 @@ class TestNovaClient(base.TestCase):
self.assertRaises(exceptions.ComputeBuildException, self.manager.build) self.assertRaises(exceptions.ComputeBuildException, self.manager.build)
def test_build_extracts_image_id_by_tag(self): def test_build_extracts_image_id_by_tag(self):
expected_id = 'fakeid-by-tag' self.manager.build(image_tag='tag')
with mock.patch.object(nova_common, '_get_image_uuid', self.assertEqual(1, self.manager.manager.create.call_args[1]['image'])
return_value=expected_id):
self.manager.build(image_id='fakeid', image_tag='tag')
self.assertEqual(expected_id,
self.manager.manager.create.call_args[1]['image'])
def test_delete(self): def test_delete(self):
amphora_id = self.manager.build(amphora_flavor=1, image_id=1, amphora_id = self.manager.build(amphora_flavor=1, image_tag='pale_ale',
key_name=1, sec_groups=1, key_name=1, sec_groups=1,
network_ids=[1]) network_ids=[1])
self.manager.delete(amphora_id) self.manager.delete(amphora_id)
@ -334,7 +312,7 @@ class TestNovaClient(base.TestCase):
def test_bad_delete(self): def test_bad_delete(self):
self.manager.manager.delete.side_effect = Exception self.manager.manager.delete.side_effect = Exception
amphora_id = self.manager.build(amphora_flavor=1, image_id=1, amphora_id = self.manager.build(amphora_flavor=1, image_tag='lager',
key_name=1, sec_groups=1, key_name=1, sec_groups=1,
network_ids=[1]) network_ids=[1])
self.assertRaises(exceptions.ComputeDeleteException, self.assertRaises(exceptions.ComputeDeleteException,

View File

@ -29,7 +29,6 @@ import octavia.tests.unit.base as base
AMP_FLAVOR_ID = '10' AMP_FLAVOR_ID = '10'
AMP_IMAGE_ID = '11'
AMP_IMAGE_TAG = 'glance_tag' AMP_IMAGE_TAG = 'glance_tag'
AMP_SSH_KEY_NAME = None AMP_SSH_KEY_NAME = None
AMP_NET = [uuidutils.generate_uuid()] AMP_NET = [uuidutils.generate_uuid()]
@ -66,8 +65,6 @@ class TestComputeTasks(base.TestCase):
self.conf = self.useFixture(oslo_fixture.Config(cfg.CONF)) self.conf = self.useFixture(oslo_fixture.Config(cfg.CONF))
self.conf.config( self.conf.config(
group="controller_worker", amp_flavor_id=AMP_FLAVOR_ID) group="controller_worker", amp_flavor_id=AMP_FLAVOR_ID)
self.conf.config(
group="controller_worker", amp_image_id=AMP_IMAGE_ID)
self.conf.config( self.conf.config(
group="controller_worker", amp_image_tag=AMP_IMAGE_TAG) group="controller_worker", amp_image_tag=AMP_IMAGE_TAG)
self.conf.config( self.conf.config(
@ -114,7 +111,6 @@ class TestComputeTasks(base.TestCase):
mock_driver.build.assert_called_once_with( mock_driver.build.assert_called_once_with(
name="amphora-" + _amphora_mock.id, name="amphora-" + _amphora_mock.id,
amphora_flavor=AMP_FLAVOR_ID, amphora_flavor=AMP_FLAVOR_ID,
image_id=AMP_IMAGE_ID,
image_tag=AMP_IMAGE_TAG, image_tag=AMP_IMAGE_TAG,
image_owner=image_owner_id, image_owner=image_owner_id,
key_name=AMP_SSH_KEY_NAME, key_name=AMP_SSH_KEY_NAME,
@ -178,7 +174,6 @@ class TestComputeTasks(base.TestCase):
mock_driver.build.assert_called_once_with( mock_driver.build.assert_called_once_with(
name="amphora-" + _amphora_mock.id, name="amphora-" + _amphora_mock.id,
amphora_flavor=AMP_FLAVOR_ID, amphora_flavor=AMP_FLAVOR_ID,
image_id=AMP_IMAGE_ID,
image_tag=AMP_IMAGE_TAG, image_tag=AMP_IMAGE_TAG,
image_owner='', image_owner='',
key_name=AMP_SSH_KEY_NAME, key_name=AMP_SSH_KEY_NAME,
@ -245,7 +240,6 @@ class TestComputeTasks(base.TestCase):
mock_driver.build.assert_called_once_with( mock_driver.build.assert_called_once_with(
name="amphora-" + _amphora_mock.id, name="amphora-" + _amphora_mock.id,
amphora_flavor=AMP_FLAVOR_ID, amphora_flavor=AMP_FLAVOR_ID,
image_id=AMP_IMAGE_ID,
image_tag=AMP_IMAGE_TAG, image_tag=AMP_IMAGE_TAG,
image_owner=image_owner_id, image_owner=image_owner_id,
key_name=AMP_SSH_KEY_NAME, key_name=AMP_SSH_KEY_NAME,
@ -311,7 +305,6 @@ class TestComputeTasks(base.TestCase):
mock_driver.build.assert_called_once_with( mock_driver.build.assert_called_once_with(
name="amphora-" + _amphora_mock.id, name="amphora-" + _amphora_mock.id,
amphora_flavor=AMP_FLAVOR_ID, amphora_flavor=AMP_FLAVOR_ID,
image_id=AMP_IMAGE_ID,
image_tag=AMP_IMAGE_TAG, image_tag=AMP_IMAGE_TAG,
image_owner='', image_owner='',
key_name=None, key_name=None,
@ -378,7 +371,6 @@ class TestComputeTasks(base.TestCase):
mock_driver.build.assert_called_once_with( mock_driver.build.assert_called_once_with(
name="amphora-" + _amphora_mock.id, name="amphora-" + _amphora_mock.id,
amphora_flavor=AMP_FLAVOR_ID, amphora_flavor=AMP_FLAVOR_ID,
image_id=AMP_IMAGE_ID,
image_tag=AMP_IMAGE_TAG, image_tag=AMP_IMAGE_TAG,
image_owner='', image_owner='',
key_name=AMP_SSH_KEY_NAME, key_name=AMP_SSH_KEY_NAME,

View File

@ -28,7 +28,6 @@ import octavia.tests.unit.base as base
AMP_FLAVOR_ID = '10' AMP_FLAVOR_ID = '10'
AMP_IMAGE_ID = '11'
AMP_IMAGE_TAG = 'glance_tag' AMP_IMAGE_TAG = 'glance_tag'
AMP_SSH_KEY_NAME = None AMP_SSH_KEY_NAME = None
AMP_NET = [uuidutils.generate_uuid()] AMP_NET = [uuidutils.generate_uuid()]
@ -76,8 +75,6 @@ class TestComputeTasks(base.TestCase):
self.conf = self.useFixture(oslo_fixture.Config(cfg.CONF)) self.conf = self.useFixture(oslo_fixture.Config(cfg.CONF))
self.conf.config( self.conf.config(
group="controller_worker", amp_flavor_id=AMP_FLAVOR_ID) group="controller_worker", amp_flavor_id=AMP_FLAVOR_ID)
self.conf.config(
group="controller_worker", amp_image_id=AMP_IMAGE_ID)
self.conf.config( self.conf.config(
group="controller_worker", amp_image_tag=AMP_IMAGE_TAG) group="controller_worker", amp_image_tag=AMP_IMAGE_TAG)
self.conf.config( self.conf.config(
@ -124,7 +121,6 @@ class TestComputeTasks(base.TestCase):
mock_driver.build.assert_called_once_with( mock_driver.build.assert_called_once_with(
name="amphora-" + _db_amphora_mock.id, name="amphora-" + _db_amphora_mock.id,
amphora_flavor=AMP_FLAVOR_ID, amphora_flavor=AMP_FLAVOR_ID,
image_id=AMP_IMAGE_ID,
image_tag=AMP_IMAGE_TAG, image_tag=AMP_IMAGE_TAG,
image_owner=image_owner_id, image_owner=image_owner_id,
key_name=AMP_SSH_KEY_NAME, key_name=AMP_SSH_KEY_NAME,
@ -188,7 +184,6 @@ class TestComputeTasks(base.TestCase):
mock_driver.build.assert_called_once_with( mock_driver.build.assert_called_once_with(
name="amphora-" + _db_amphora_mock.id, name="amphora-" + _db_amphora_mock.id,
amphora_flavor=AMP_FLAVOR_ID, amphora_flavor=AMP_FLAVOR_ID,
image_id=AMP_IMAGE_ID,
image_tag=AMP_IMAGE_TAG, image_tag=AMP_IMAGE_TAG,
image_owner='', image_owner='',
key_name=AMP_SSH_KEY_NAME, key_name=AMP_SSH_KEY_NAME,
@ -255,7 +250,6 @@ class TestComputeTasks(base.TestCase):
mock_driver.build.assert_called_once_with( mock_driver.build.assert_called_once_with(
name="amphora-" + _db_amphora_mock.id, name="amphora-" + _db_amphora_mock.id,
amphora_flavor=AMP_FLAVOR_ID, amphora_flavor=AMP_FLAVOR_ID,
image_id=AMP_IMAGE_ID,
image_tag=AMP_IMAGE_TAG, image_tag=AMP_IMAGE_TAG,
image_owner=image_owner_id, image_owner=image_owner_id,
key_name=AMP_SSH_KEY_NAME, key_name=AMP_SSH_KEY_NAME,
@ -321,7 +315,6 @@ class TestComputeTasks(base.TestCase):
mock_driver.build.assert_called_once_with( mock_driver.build.assert_called_once_with(
name="amphora-" + _db_amphora_mock.id, name="amphora-" + _db_amphora_mock.id,
amphora_flavor=AMP_FLAVOR_ID, amphora_flavor=AMP_FLAVOR_ID,
image_id=AMP_IMAGE_ID,
image_tag=AMP_IMAGE_TAG, image_tag=AMP_IMAGE_TAG,
image_owner='', image_owner='',
key_name=None, key_name=None,
@ -388,7 +381,6 @@ class TestComputeTasks(base.TestCase):
mock_driver.build.assert_called_once_with( mock_driver.build.assert_called_once_with(
name="amphora-" + _db_amphora_mock.id, name="amphora-" + _db_amphora_mock.id,
amphora_flavor=AMP_FLAVOR_ID, amphora_flavor=AMP_FLAVOR_ID,
image_id=AMP_IMAGE_ID,
image_tag=AMP_IMAGE_TAG, image_tag=AMP_IMAGE_TAG,
image_owner='', image_owner='',
key_name=AMP_SSH_KEY_NAME, key_name=AMP_SSH_KEY_NAME,

View File

@ -0,0 +1,6 @@
---
upgrade:
- |
The option ``[controller_worker]/amp_image_id`` has been deprecated since
Mitaka release and is now removed. This option was superseded by
``[controller_worker]/amp_image_tag`` option.