Merge "functional: Add and use 'GlanceFixture'"

This commit is contained in:
Zuul 2020-09-16 17:10:21 +00:00 committed by Gerrit Code Review
commit b262e23734
70 changed files with 568 additions and 360 deletions

View File

@ -15,9 +15,11 @@
# under the License. # under the License.
"""Fixtures for Nova tests.""" """Fixtures for Nova tests."""
import collections import collections
from contextlib import contextmanager from contextlib import contextmanager
import copy import copy
import datetime
import logging as std_logging import logging as std_logging
import os import os
import random import random
@ -56,6 +58,7 @@ from nova.network import constants as neutron_constants
from nova.network import model as network_model from nova.network import model as network_model
from nova import objects from nova import objects
from nova.objects import base as obj_base from nova.objects import base as obj_base
from nova.objects import fields as obj_fields
from nova.objects import service as service_obj from nova.objects import service as service_obj
import nova.privsep import nova.privsep
from nova import quota as nova_quota from nova import quota as nova_quota
@ -2046,6 +2049,318 @@ class EventReporterStub(fixtures.Fixture):
lambda *args, **kwargs: mock.MagicMock())) lambda *args, **kwargs: mock.MagicMock()))
class GlanceFixture(fixtures.Fixture):
"""A fixture for simulating Glance."""
# NOTE(justinsb): The OpenStack API can't upload an image?
# So, make sure we've got one..
timestamp = datetime.datetime(2011, 1, 1, 1, 2, 3)
image1 = {
'id': '155d900f-4e14-4e4c-a73d-069cbf4541e6',
'name': 'fakeimage123456',
'created_at': timestamp,
'updated_at': timestamp,
'deleted_at': None,
'deleted': False,
'status': 'active',
'is_public': False,
'container_format': 'raw',
'disk_format': 'raw',
'size': '25165824',
'min_ram': 0,
'min_disk': 0,
'protected': False,
'visibility': 'public',
'tags': ['tag1', 'tag2'],
'properties': {
'kernel_id': 'nokernel',
'ramdisk_id': 'nokernel',
'architecture': obj_fields.Architecture.X86_64,
},
}
image2 = {
'id': 'a2459075-d96c-40d5-893e-577ff92e721c',
'name': 'fakeimage123456',
'created_at': timestamp,
'updated_at': timestamp,
'deleted_at': None,
'deleted': False,
'status': 'active',
'is_public': True,
'container_format': 'ami',
'disk_format': 'ami',
'size': '58145823',
'min_ram': 0,
'min_disk': 0,
'protected': False,
'visibility': 'public',
'tags': [],
'properties': {
'kernel_id': 'nokernel',
'ramdisk_id': 'nokernel',
},
}
image3 = {
'id': '76fa36fc-c930-4bf3-8c8a-ea2a2420deb6',
'name': 'fakeimage123456',
'created_at': timestamp,
'updated_at': timestamp,
'deleted_at': None,
'deleted': False,
'status': 'active',
'is_public': True,
'container_format': 'bare',
'disk_format': 'raw',
'size': '83594576',
'min_ram': 0,
'min_disk': 0,
'protected': False,
'visibility': 'public',
'tags': ['tag3', 'tag4'],
'properties': {
'kernel_id': 'nokernel',
'ramdisk_id': 'nokernel',
'architecture': obj_fields.Architecture.X86_64,
},
}
image4 = {
'id': 'cedef40a-ed67-4d10-800e-17455edce175',
'name': 'fakeimage123456',
'created_at': timestamp,
'updated_at': timestamp,
'deleted_at': None,
'deleted': False,
'status': 'active',
'is_public': True,
'container_format': 'ami',
'disk_format': 'ami',
'size': '84035174',
'min_ram': 0,
'min_disk': 0,
'protected': False,
'visibility': 'public',
'tags': [],
'properties': {
'kernel_id': 'nokernel',
'ramdisk_id': 'nokernel',
},
}
image5 = {
'id': 'c905cedb-7281-47e4-8a62-f26bc5fc4c77',
'name': 'fakeimage123456',
'created_at': timestamp,
'updated_at': timestamp,
'deleted_at': None,
'deleted': False,
'status': 'active',
'is_public': True,
'container_format': 'ami',
'disk_format': 'ami',
'size': '26360814',
'min_ram': 0,
'min_disk': 0,
'protected': False,
'visibility': 'public',
'tags': [],
'properties': {
'kernel_id': '155d900f-4e14-4e4c-a73d-069cbf4541e6',
'ramdisk_id': None,
},
}
auto_disk_config_disabled_image = {
'id': 'a440c04b-79fa-479c-bed1-0b816eaec379',
'name': 'fakeimage6',
'created_at': timestamp,
'updated_at': timestamp,
'deleted_at': None,
'deleted': False,
'status': 'active',
'is_public': False,
'container_format': 'ova',
'disk_format': 'vhd',
'size': '49163826',
'min_ram': 0,
'min_disk': 0,
'protected': False,
'visibility': 'public',
'tags': [],
'properties': {
'kernel_id': 'nokernel',
'ramdisk_id': 'nokernel',
'architecture': obj_fields.Architecture.X86_64,
'auto_disk_config': 'False',
},
}
auto_disk_config_enabled_image = {
'id': '70a599e0-31e7-49b7-b260-868f441e862b',
'name': 'fakeimage7',
'created_at': timestamp,
'updated_at': timestamp,
'deleted_at': None,
'deleted': False,
'status': 'active',
'is_public': False,
'container_format': 'ova',
'disk_format': 'vhd',
'size': '74185822',
'min_ram': 0,
'min_disk': 0,
'protected': False,
'visibility': 'public',
'tags': [],
'properties': {
'kernel_id': 'nokernel',
'ramdisk_id': 'nokernel',
'architecture': obj_fields.Architecture.X86_64,
'auto_disk_config': 'True',
},
}
def __init__(self, test):
super().__init__()
self.test = test
self.images = {}
def setUp(self):
super().setUp()
self.test.useFixture(
ConfPatcher(group='glance', api_servers=['http://localhost:9292'])
)
self.test.stub_out(
'nova.image.glance.API.get_remote_image_service',
lambda context, image_href: (self, image_href))
self.test.stub_out(
'nova.image.glance.get_default_image_service',
lambda: self)
self.create(None, self.image1)
self.create(None, self.image2)
self.create(None, self.image3)
self.create(None, self.image4)
self.create(None, self.image5)
self.create(None, self.auto_disk_config_disabled_image)
self.create(None, self.auto_disk_config_enabled_image)
self._imagedata = {}
# TODO(bcwaldon): implement optional kwargs such as limit, sort_dir
def detail(self, context, **kwargs):
"""Return list of detailed image information."""
return copy.deepcopy(list(self.images.values()))
def download(
self, context, image_id, data=None, dst_path=None, trusted_certs=None,
):
self.show(context, image_id)
if data:
data.write(self._imagedata.get(image_id, b''))
elif dst_path:
with open(dst_path, 'wb') as data:
data.write(self._imagedata.get(image_id, b''))
def show(
self, context, image_id, include_locations=False, show_deleted=True,
):
"""Get data about specified image.
Returns a dict containing image data for the given opaque image id.
"""
image = self.images.get(str(image_id))
if image:
return copy.deepcopy(image)
LOG.warning(
'Unable to find image id %s. Have images: %s',
image_id, self.images)
raise exception.ImageNotFound(image_id=image_id)
def create(self, context, metadata, data=None):
"""Store the image data and return the new image id.
:raises: Duplicate if the image already exist.
"""
image_id = str(metadata.get('id', uuidutils.generate_uuid()))
metadata['id'] = image_id
if image_id in self.images:
raise exception.CouldNotUploadImage(image_id=image_id)
image_meta = copy.deepcopy(metadata)
# Glance sets the size value when an image is created, so we
# need to do that here to fake things out if it's not provided
# by the caller. This is needed to avoid a KeyError in the
# image-size API.
if 'size' not in image_meta:
image_meta['size'] = None
# Similarly, Glance provides the status on the image once it's created
# and this is checked in the compute API when booting a server from
# this image, so we just fake it out to be 'active' even though this
# is mostly a lie on a newly created image.
if 'status' not in metadata:
image_meta['status'] = 'active'
# The owner of the image is by default the request context project_id.
if context and 'owner' not in image_meta.get('properties', {}):
# Note that normally "owner" is a top-level field in an image
# resource in glance but we have to fake this out for the images
# proxy API by throwing it into the generic "properties" dict.
image_meta.get('properties', {})['owner'] = context.project_id
self.images[image_id] = image_meta
if data:
self._imagedata[image_id] = data.read()
return self.images[image_id]
def update(self, context, image_id, metadata, data=None,
purge_props=False):
"""Replace the contents of the given image with the new data.
:raises: ImageNotFound if the image does not exist.
"""
if not self.images.get(image_id):
raise exception.ImageNotFound(image_id=image_id)
if purge_props:
self.images[image_id] = copy.deepcopy(metadata)
else:
image = self.images[image_id]
try:
image['properties'].update(metadata.pop('properties'))
except KeyError:
pass
image.update(metadata)
return self.images[image_id]
def delete(self, context, image_id):
"""Delete the given image.
:raises: ImageNotFound if the image does not exist.
"""
removed = self.images.pop(image_id, None)
if not removed:
raise exception.ImageNotFound(image_id=image_id)
def get_location(self, context, image_id):
if image_id in self.images:
return 'fake_location'
return None
class CinderFixture(fixtures.Fixture): class CinderFixture(fixtures.Fixture):
"""A fixture to volume operations with the new Cinder attach/detach API""" """A fixture to volume operations with the new Cinder attach/detach API"""

View File

@ -16,7 +16,6 @@
from oslo_serialization import jsonutils from oslo_serialization import jsonutils
from nova.tests.functional.api_sample_tests import api_sample_base from nova.tests.functional.api_sample_tests import api_sample_base
from nova.tests.unit.image import fake as fake_image
class AggregatesSampleJsonTest(api_sample_base.ApiSampleTestBaseV21): class AggregatesSampleJsonTest(api_sample_base.ApiSampleTestBaseV21):
@ -132,7 +131,7 @@ class AggregatesV2_81_SampleJsonTest(AggregatesV2_41_SampleJsonTest):
def test_images(self): def test_images(self):
agg_id = self._test_aggregate_create() agg_id = self._test_aggregate_create()
image = fake_image.get_valid_image_id() image = self.glance.auto_disk_config_enabled_image['id']
response = self._do_post('os-aggregates/%s/images' % agg_id, response = self._do_post('os-aggregates/%s/images' % agg_id,
'aggregate-images-post-req', 'aggregate-images-post-req',
{'image_id': image}) {'image_id': image})

View File

@ -15,8 +15,8 @@
import mock import mock
from nova.tests import fixtures
from nova.tests.functional.api_sample_tests import test_servers from nova.tests.functional.api_sample_tests import test_servers
from nova.tests.unit.image import fake
class CreateBackupSamplesJsonTest(test_servers.ServersSampleBase): class CreateBackupSamplesJsonTest(test_servers.ServersSampleBase):
@ -30,7 +30,7 @@ class CreateBackupSamplesJsonTest(test_servers.ServersSampleBase):
super(CreateBackupSamplesJsonTest, self).setUp() super(CreateBackupSamplesJsonTest, self).setUp()
self.uuid = self._post_server() self.uuid = self._post_server()
@mock.patch.object(fake._FakeImageService, 'detail', return_value=[]) @mock.patch.object(fixtures.GlanceFixture, 'detail', return_value=[])
def test_post_backup_server(self, mock_method): def test_post_backup_server(self, mock_method):
# Get api samples to backup server request. # Get api samples to backup server request.
response = self._do_post('servers/%s/action' % self.uuid, response = self._do_post('servers/%s/action' % self.uuid,

View File

@ -14,7 +14,6 @@
# under the License. # under the License.
from nova.tests.functional.api_sample_tests import api_sample_base from nova.tests.functional.api_sample_tests import api_sample_base
from nova.tests.unit.image import fake
class ImagesSampleJsonTest(api_sample_base.ApiSampleTestBaseV21): class ImagesSampleJsonTest(api_sample_base.ApiSampleTestBaseV21):
@ -27,7 +26,7 @@ class ImagesSampleJsonTest(api_sample_base.ApiSampleTestBaseV21):
def test_image_get(self): def test_image_get(self):
# Get api sample of one single image details request. # Get api sample of one single image details request.
image_id = fake.get_valid_image_id() image_id = self.glance.auto_disk_config_enabled_image['id']
response = self._do_get('images/%s' % image_id) response = self._do_get('images/%s' % image_id)
subs = {'image_id': image_id} subs = {'image_id': image_id}
self._verify_response('image-get-resp', subs, response, 200) self._verify_response('image-get-resp', subs, response, 200)
@ -39,14 +38,14 @@ class ImagesSampleJsonTest(api_sample_base.ApiSampleTestBaseV21):
def test_image_metadata_get(self): def test_image_metadata_get(self):
# Get api sample of an image metadata request. # Get api sample of an image metadata request.
image_id = fake.get_valid_image_id() image_id = self.glance.auto_disk_config_enabled_image['id']
response = self._do_get('images/%s/metadata' % image_id) response = self._do_get('images/%s/metadata' % image_id)
subs = {'image_id': image_id} subs = {'image_id': image_id}
self._verify_response('image-metadata-get-resp', subs, response, 200) self._verify_response('image-metadata-get-resp', subs, response, 200)
def test_image_metadata_post(self): def test_image_metadata_post(self):
# Get api sample to update metadata of an image metadata request. # Get api sample to update metadata of an image metadata request.
image_id = fake.get_valid_image_id() image_id = self.glance.auto_disk_config_enabled_image['id']
response = self._do_post( response = self._do_post(
'images/%s/metadata' % image_id, 'images/%s/metadata' % image_id,
'image-metadata-post-req', {}) 'image-metadata-post-req', {})
@ -54,21 +53,21 @@ class ImagesSampleJsonTest(api_sample_base.ApiSampleTestBaseV21):
def test_image_metadata_put(self): def test_image_metadata_put(self):
# Get api sample of image metadata put request. # Get api sample of image metadata put request.
image_id = fake.get_valid_image_id() image_id = self.glance.auto_disk_config_enabled_image['id']
response = self._do_put('images/%s/metadata' % response = self._do_put('images/%s/metadata' %
(image_id), 'image-metadata-put-req', {}) (image_id), 'image-metadata-put-req', {})
self._verify_response('image-metadata-put-resp', {}, response, 200) self._verify_response('image-metadata-put-resp', {}, response, 200)
def test_image_meta_key_get(self): def test_image_meta_key_get(self):
# Get api sample of an image metadata key request. # Get api sample of an image metadata key request.
image_id = fake.get_valid_image_id() image_id = self.glance.auto_disk_config_enabled_image['id']
key = "kernel_id" key = "kernel_id"
response = self._do_get('images/%s/metadata/%s' % (image_id, key)) response = self._do_get('images/%s/metadata/%s' % (image_id, key))
self._verify_response('image-meta-key-get', {}, response, 200) self._verify_response('image-meta-key-get', {}, response, 200)
def test_image_meta_key_put(self): def test_image_meta_key_put(self):
# Get api sample of image metadata key put request. # Get api sample of image metadata key put request.
image_id = fake.get_valid_image_id() image_id = self.glance.auto_disk_config_enabled_image['id']
key = "auto_disk_config" key = "auto_disk_config"
response = self._do_put('images/%s/metadata/%s' % (image_id, key), response = self._do_put('images/%s/metadata/%s' % (image_id, key),
'image-meta-key-put-req', {}) 'image-meta-key-put-req', {})

View File

@ -14,7 +14,6 @@
# under the License. # under the License.
from nova.tests.functional.api_sample_tests import test_servers from nova.tests.functional.api_sample_tests import test_servers
from nova.tests.unit.image import fake
class MultipleCreateJsonTest(test_servers.ServersSampleBase): class MultipleCreateJsonTest(test_servers.ServersSampleBase):
@ -22,7 +21,7 @@ class MultipleCreateJsonTest(test_servers.ServersSampleBase):
def test_multiple_create(self): def test_multiple_create(self):
subs = { subs = {
'image_id': fake.get_valid_image_id(), 'image_id': self.glance.auto_disk_config_enabled_image['id'],
'compute_endpoint': self._get_compute_endpoint(), 'compute_endpoint': self._get_compute_endpoint(),
'min_count': "2", 'min_count': "2",
'max_count': "3" 'max_count': "3"
@ -32,7 +31,7 @@ class MultipleCreateJsonTest(test_servers.ServersSampleBase):
def test_multiple_create_without_reservation_id(self): def test_multiple_create_without_reservation_id(self):
subs = { subs = {
'image_id': fake.get_valid_image_id(), 'image_id': self.glance.auto_disk_config_enabled_image['id'],
'compute_endpoint': self._get_compute_endpoint(), 'compute_endpoint': self._get_compute_endpoint(),
'min_count': "2", 'min_count': "2",
'max_count': "3" 'max_count': "3"

View File

@ -14,7 +14,6 @@
from nova.compute import api as compute_api from nova.compute import api as compute_api
from nova.tests.functional.api_sample_tests import test_servers from nova.tests.functional.api_sample_tests import test_servers
from nova.tests.unit.image import fake
class PreserveEphemeralOnRebuildJsonTest(test_servers.ServersSampleBase): class PreserveEphemeralOnRebuildJsonTest(test_servers.ServersSampleBase):
@ -22,9 +21,8 @@ class PreserveEphemeralOnRebuildJsonTest(test_servers.ServersSampleBase):
def _test_server_rebuild_preserve_ephemeral(self, value, resp_tpl=None): def _test_server_rebuild_preserve_ephemeral(self, value, resp_tpl=None):
uuid = self._post_server() uuid = self._post_server()
image = fake.get_valid_image_id()
subs = {'host': self._get_host(), subs = {'host': self._get_host(),
'uuid': image, 'uuid': self.glance.auto_disk_config_enabled_image['id'],
'name': 'foobar', 'name': 'foobar',
'pass': 'seekr3t', 'pass': 'seekr3t',
'hostid': '[a-f0-9]+', 'hostid': '[a-f0-9]+',

View File

@ -25,7 +25,6 @@ import nova.conf
from nova.tests import fixtures as nova_fixtures from nova.tests import fixtures as nova_fixtures
from nova.tests.functional.api_sample_tests import api_sample_base from nova.tests.functional.api_sample_tests import api_sample_base
from nova.tests.unit.api.openstack import fakes from nova.tests.unit.api.openstack import fakes
from nova.tests.unit.image import fake
CONF = nova.conf.CONF CONF = nova.conf.CONF
@ -61,7 +60,7 @@ class ServersSampleBase(api_sample_base.ApiSampleTestBaseV21):
# common server sample files from 'servers' directory. # common server sample files from 'servers' directory.
# Set False if tests need to use extension specific sample files # Set False if tests need to use extension specific sample files
subs = { subs = {
'image_id': fake.get_valid_image_id(), 'image_id': self.glance.auto_disk_config_enabled_image['id'],
'host': self._get_host(), 'host': self._get_host(),
'compute_endpoint': self._get_compute_endpoint(), 'compute_endpoint': self._get_compute_endpoint(),
'versioned_compute_endpoint': self._get_vers_compute_endpoint(), 'versioned_compute_endpoint': self._get_vers_compute_endpoint(),
@ -192,7 +191,7 @@ class ServersSampleJson219Test(ServersSampleJsonTest):
uuid = self.test_servers_post() uuid = self.test_servers_post()
response = self._do_put('servers/%s' % uuid, 'server-put-req', {}) response = self._do_put('servers/%s' % uuid, 'server-put-req', {})
subs = { subs = {
'image_id': fake.get_valid_image_id(), 'image_id': self.glance.auto_disk_config_enabled_image['id'],
'hostid': '[a-f0-9]+', 'hostid': '[a-f0-9]+',
'glance_host': self._get_glance_host(), 'glance_host': self._get_glance_host(),
'access_ip_v4': '1.2.3.4', 'access_ip_v4': '1.2.3.4',
@ -235,9 +234,8 @@ class ServersSampleJson247Test(ServersSampleJsonTest):
def test_server_rebuild(self): def test_server_rebuild(self):
uuid = self._post_server() uuid = self._post_server()
image = fake.get_valid_image_id()
params = { params = {
'uuid': image, 'uuid': self.glance.auto_disk_config_enabled_image['id'],
'name': 'foobar', 'name': 'foobar',
'pass': 'seekr3t', 'pass': 'seekr3t',
'hostid': '[a-f0-9]+', 'hostid': '[a-f0-9]+',
@ -284,10 +282,8 @@ class ServersSampleJson263Test(ServersSampleBase):
def test_server_rebuild(self): def test_server_rebuild(self):
uuid = self._post_server(use_common_server_api_samples=False) uuid = self._post_server(use_common_server_api_samples=False)
fakes.stub_out_key_pair_funcs(self) fakes.stub_out_key_pair_funcs(self)
image = fake.get_valid_image_id()
params = { params = {
'uuid': image, 'uuid': self.glance.auto_disk_config_enabled_image['id'],
'name': 'foobar', 'name': 'foobar',
'key_name': 'new-key', 'key_name': 'new-key',
'description': 'description of foobar', 'description': 'description of foobar',
@ -484,9 +480,8 @@ class ServersSampleJson271Test(ServersSampleBase):
def test_servers_rebuild_with_server_groups(self): def test_servers_rebuild_with_server_groups(self):
uuid = self._test_servers_post() uuid = self._test_servers_post()
fakes.stub_out_key_pair_funcs(self) fakes.stub_out_key_pair_funcs(self)
image = fake.get_valid_image_id()
params = { params = {
'uuid': image, 'uuid': self.glance.auto_disk_config_enabled_image['id'],
'name': 'foobar', 'name': 'foobar',
'key_name': 'new-key', 'key_name': 'new-key',
'description': 'description of foobar', 'description': 'description of foobar',
@ -558,9 +553,8 @@ class ServersSampleJson273Test(ServersSampleBase):
def test_server_rebuild_with_empty_locked_reason(self): def test_server_rebuild_with_empty_locked_reason(self):
uuid = self._post_server(use_common_server_api_samples=False) uuid = self._post_server(use_common_server_api_samples=False)
image = fake.get_valid_image_id()
params = { params = {
'uuid': image, 'uuid': self.glance.auto_disk_config_enabled_image['id'],
'name': 'foobar', 'name': 'foobar',
'pass': 'seekr3t', 'pass': 'seekr3t',
'hostid': '[a-f0-9]+', 'hostid': '[a-f0-9]+',
@ -647,9 +641,8 @@ class ServersSampleJson275Test(ServersUpdateSampleJsonTest):
def test_server_rebuild(self): def test_server_rebuild(self):
uuid = self._post_server() uuid = self._post_server()
image = fake.get_valid_image_id()
params = { params = {
'uuid': image, 'uuid': self.glance.auto_disk_config_enabled_image['id'],
'name': 'foobar', 'name': 'foobar',
'pass': 'seekr3t', 'pass': 'seekr3t',
'hostid': '[a-f0-9]+', 'hostid': '[a-f0-9]+',
@ -711,9 +704,8 @@ class ServersActionsJsonTest(ServersSampleBase, _ServersActionsJsonTestMixin):
def test_server_rebuild(self): def test_server_rebuild(self):
uuid = self._post_server() uuid = self._post_server()
image = fake.get_valid_image_id()
params = { params = {
'uuid': image, 'uuid': self.glance.auto_disk_config_enabled_image['id'],
'name': 'foobar', 'name': 'foobar',
'pass': 'seekr3t', 'pass': 'seekr3t',
'hostid': '[a-f0-9]+', 'hostid': '[a-f0-9]+',
@ -828,9 +820,8 @@ class ServersActionsJson219Test(ServersSampleBase):
def test_server_rebuild(self): def test_server_rebuild(self):
uuid = self._post_server() uuid = self._post_server()
image = fake.get_valid_image_id()
params = { params = {
'uuid': image, 'uuid': self.glance.auto_disk_config_enabled_image['id'],
'name': 'foobar', 'name': 'foobar',
'description': 'description of foobar', 'description': 'description of foobar',
'pass': 'seekr3t', 'pass': 'seekr3t',
@ -855,9 +846,8 @@ class ServersActionsJson226Test(ServersSampleBase):
def test_server_rebuild(self): def test_server_rebuild(self):
uuid = self._post_server() uuid = self._post_server()
image = fake.get_valid_image_id()
params = { params = {
'uuid': image, 'uuid': self.glance.auto_disk_config_enabled_image['id'],
'access_ip_v4': '1.2.3.4', 'access_ip_v4': '1.2.3.4',
'access_ip_v6': '80fe::', 'access_ip_v6': '80fe::',
'disk_config': 'AUTO', 'disk_config': 'AUTO',
@ -895,9 +885,8 @@ class ServersActionsJson254Test(ServersSampleBase):
def test_server_rebuild(self): def test_server_rebuild(self):
fakes.stub_out_key_pair_funcs(self) fakes.stub_out_key_pair_funcs(self)
uuid = self._create_server() uuid = self._create_server()
image = fake.get_valid_image_id()
params = { params = {
'uuid': image, 'uuid': self.glance.auto_disk_config_enabled_image['id'],
'name': 'foobar', 'name': 'foobar',
'key_name': 'new-key', 'key_name': 'new-key',
'description': 'description of foobar', 'description': 'description of foobar',

View File

@ -33,7 +33,6 @@ from nova.tests import fixtures as nova_fixtures
from nova.tests.functional import fixtures as func_fixtures from nova.tests.functional import fixtures as func_fixtures
from nova.tests.functional import integrated_helpers from nova.tests.functional import integrated_helpers
from nova.tests.unit import fake_notifier from nova.tests.unit import fake_notifier
from nova.tests.unit.image import fake as fake_image
from nova.virt import driver as virt_driver from nova.virt import driver as virt_driver
@ -697,10 +696,9 @@ class TestProviderConfig(integrated_helpers.ProviderUsageBaseTestCase):
compute service that provides that trait. compute service that provides that trait.
""" """
self.neutron = nova_fixtures.NeutronFixture(self) self.useFixture(nova_fixtures.NeutronFixture(self))
self.useFixture(self.neutron) self.useFixture(nova_fixtures.GlanceFixture(self))
fake_image.stub_out_image_service(self)
self.addCleanup(fake_image.FakeImageService_reset)
# Start nova services. # Start nova services.
self.api = self.useFixture(nova_fixtures.OSAPIFixture( self.api = self.useFixture(nova_fixtures.OSAPIFixture(
api_version='v2.1')).admin_api api_version='v2.1')).admin_api

View File

@ -42,7 +42,6 @@ from nova.tests.functional.api import client as api_client
from nova.tests.functional import fixtures as func_fixtures from nova.tests.functional import fixtures as func_fixtures
from nova.tests.unit import cast_as_call from nova.tests.unit import cast_as_call
from nova.tests.unit import fake_notifier from nova.tests.unit import fake_notifier
import nova.tests.unit.image.fake
from nova.tests.unit import policy_fixture from nova.tests.unit import policy_fixture
from nova import utils from nova import utils
@ -1050,15 +1049,12 @@ class _IntegratedTestBase(test.TestCase, PlacementInstanceHelperMixin):
def setUp(self): def setUp(self):
super(_IntegratedTestBase, self).setUp() super(_IntegratedTestBase, self).setUp()
self.fake_image_service =\
nova.tests.unit.image.fake.stub_out_image_service(self)
self.addCleanup(nova.tests.unit.image.fake.FakeImageService_reset)
self.useFixture(cast_as_call.CastAsCall(self)) self.useFixture(cast_as_call.CastAsCall(self))
self.placement = self.useFixture(func_fixtures.PlacementFixture()).api self.placement = self.useFixture(func_fixtures.PlacementFixture()).api
self.neutron = self.useFixture(nova_fixtures.NeutronFixture(self)) self.neutron = self.useFixture(nova_fixtures.NeutronFixture(self))
self.cinder = self.useFixture(nova_fixtures.CinderFixture(self)) self.cinder = self.useFixture(nova_fixtures.CinderFixture(self))
self.glance = self.useFixture(nova_fixtures.GlanceFixture(self))
self.policy = self.useFixture(policy_fixture.RealPolicyFixture()) self.policy = self.useFixture(policy_fixture.RealPolicyFixture())
fake_notifier.stub_notifier(self) fake_notifier.stub_notifier(self)
@ -1128,6 +1124,7 @@ class ProviderUsageBaseTestCase(test.TestCase, PlacementInstanceHelperMixin):
self.policy = self.useFixture(policy_fixture.RealPolicyFixture()) self.policy = self.useFixture(policy_fixture.RealPolicyFixture())
self.neutron = self.useFixture(nova_fixtures.NeutronFixture(self)) self.neutron = self.useFixture(nova_fixtures.NeutronFixture(self))
self.glance = self.useFixture(nova_fixtures.GlanceFixture(self))
self.placement = self.useFixture(func_fixtures.PlacementFixture()).api self.placement = self.useFixture(func_fixtures.PlacementFixture()).api
self.useFixture(nova_fixtures.AllServicesCurrent()) self.useFixture(nova_fixtures.AllServicesCurrent())
@ -1141,11 +1138,5 @@ class ProviderUsageBaseTestCase(test.TestCase, PlacementInstanceHelperMixin):
self.admin_api.microversion = self.microversion self.admin_api.microversion = self.microversion
self.api = self.admin_api self.api = self.admin_api
# the image fake backend needed for image discovery
self.image_service = (
nova.tests.unit.image.fake.stub_out_image_service(self))
self.start_service('conductor') self.start_service('conductor')
self.scheduler_service = self.start_service('scheduler') self.scheduler_service = self.start_service('scheduler')
self.addCleanup(nova.tests.unit.image.fake.FakeImageService_reset)

View File

@ -31,7 +31,6 @@ from nova.tests.functional import fixtures as func_fixtures
from nova.tests.functional import integrated_helpers from nova.tests.functional import integrated_helpers
from nova.tests.unit import fake_network from nova.tests.unit import fake_network
from nova.tests.unit import fake_notifier from nova.tests.unit import fake_notifier
import nova.tests.unit.image.fake as fake_image
from nova.tests.unit.virt.libvirt import fakelibvirt from nova.tests.unit.virt.libvirt import fakelibvirt
from nova.virt.libvirt import config as libvirt_config from nova.virt.libvirt import config as libvirt_config
@ -50,10 +49,8 @@ FLAVOR_FIXTURES = [
'root_gb': 1, 'ephemeral_gb': 0, 'swap': 1}, 'root_gb': 1, 'ephemeral_gb': 0, 'swap': 1},
] ]
# Choice of image id is arbitrary, but fixed for consistency. # Choice of image id is arbitrary, but fixed for consistency.
IMAGE_ID = fake_image.AUTO_DISK_CONFIG_ENABLED_IMAGE_UUID IMAGE_ID = nova_fixtures.GlanceFixture.auto_disk_config_enabled_image['id']
# NOTE(mdbooth): Change I76448196 tests for creation of any local disk, and # NOTE(mdbooth): Change I76448196 tests for creation of any local disk, and
# short-circuits as soon as it sees one created. Disks are created in order: # short-circuits as soon as it sees one created. Disks are created in order:
@ -423,6 +420,7 @@ class _LibvirtEvacuateTest(integrated_helpers.InstanceHelperMixin):
self.useFixture(nova_fixtures.CinderFixture(self)) self.useFixture(nova_fixtures.CinderFixture(self))
self.useFixture(nova_fixtures.NeutronFixture(self)) self.useFixture(nova_fixtures.NeutronFixture(self))
self.useFixture(nova_fixtures.GlanceFixture(self))
self.useFixture(func_fixtures.PlacementFixture()) self.useFixture(func_fixtures.PlacementFixture())
fake_network.set_stub_network_methods(self) fake_network.set_stub_network_methods(self)
@ -433,9 +431,6 @@ class _LibvirtEvacuateTest(integrated_helpers.InstanceHelperMixin):
# force_down and evacuate without onSharedStorage # force_down and evacuate without onSharedStorage
self.api.microversion = '2.14' self.api.microversion = '2.14'
fake_image.stub_out_image_service(self)
self.addCleanup(fake_image.FakeImageService_reset)
fake_notifier.stub_notifier(self) fake_notifier.stub_notifier(self)
self.addCleanup(fake_notifier.reset) self.addCleanup(fake_notifier.reset)

View File

@ -1251,7 +1251,7 @@ class NUMAServersRebuildTests(NUMAServersTestBase):
# 2 virtual numa nodes. # 2 virtual numa nodes.
ctx = nova_context.get_admin_context() ctx = nova_context.get_admin_context()
image_meta = {'properties': {'hw_numa_nodes': 2}} image_meta = {'properties': {'hw_numa_nodes': 2}}
self.fake_image_service.update(ctx, self.image_ref_1, image_meta) self.glance.update(ctx, self.image_ref_1, image_meta)
# NOTE(sean-k-mooney): this should fail because rebuild uses noop # NOTE(sean-k-mooney): this should fail because rebuild uses noop
# claims therefore it is not allowed for the NUMA topology or resource # claims therefore it is not allowed for the NUMA topology or resource

View File

@ -19,7 +19,7 @@ import unittest
from nova.compute import instance_actions from nova.compute import instance_actions
from nova import conf from nova import conf
from nova.tests.functional.libvirt import integrated_helpers from nova.tests.functional.libvirt import integrated_helpers
import nova.tests.unit.image.fake from nova import utils
CONF = conf.CONF CONF = conf.CONF
@ -126,10 +126,9 @@ class SharedStorageProviderUsageTestCase(
networks='none' networks='none'
) )
rebuild_image_ref = ( rebuild_image_ref = self.glance.auto_disk_config_enabled_image['id']
nova.tests.unit.image.fake.AUTO_DISK_CONFIG_ENABLED_IMAGE_UUID)
with nova.utils.temporary_mutation(self.api, microversion='2.35'): with utils.temporary_mutation(self.api, microversion='2.35'):
self.api.api_put('/images/%s/metadata' % rebuild_image_ref, self.api.api_put('/images/%s/metadata' % rebuild_image_ref,
{'metadata': { {'metadata': {
'trait:STORAGE_DISK_SSD': 'required'}}) 'trait:STORAGE_DISK_SSD': 'required'}})
@ -185,10 +184,9 @@ class SharedStorageProviderUsageTestCase(
networks='none', networks='none',
) )
rebuild_image_ref = ( rebuild_image_ref = self.glance.auto_disk_config_enabled_image['id']
nova.tests.unit.image.fake.AUTO_DISK_CONFIG_ENABLED_IMAGE_UUID)
with nova.utils.temporary_mutation(self.api, microversion='2.35'): with utils.temporary_mutation(self.api, microversion='2.35'):
self.api.api_put('/images/%s/metadata' % rebuild_image_ref, self.api.api_put('/images/%s/metadata' % rebuild_image_ref,
{'metadata': { {'metadata': {
'trait:CUSTOM_FOO': 'required'}}) 'trait:CUSTOM_FOO': 'required'}})

View File

@ -28,7 +28,6 @@ from nova.tests import json_ref
from nova.tests.unit.api.openstack.compute import test_services from nova.tests.unit.api.openstack.compute import test_services
from nova.tests.unit import fake_crypto from nova.tests.unit import fake_crypto
from nova.tests.unit import fake_notifier from nova.tests.unit import fake_notifier
import nova.tests.unit.image.fake
CONF = cfg.CONF CONF = cfg.CONF
@ -80,10 +79,7 @@ class NotificationSampleTestBase(test.TestCase,
self.addCleanup(fake_notifier.reset) self.addCleanup(fake_notifier.reset)
self.useFixture(utils_fixture.TimeFixture(test_services.fake_utcnow())) self.useFixture(utils_fixture.TimeFixture(test_services.fake_utcnow()))
self.useFixture(nova_fixtures.GlanceFixture(self))
# the image fake backend needed for image discovery
nova.tests.unit.image.fake.stub_out_image_service(self)
self.addCleanup(nova.tests.unit.image.fake.FakeImageService_reset)
self.useFixture(func_fixtures.PlacementFixture()) self.useFixture(func_fixtures.PlacementFixture())
context_patcher = self.mock_gen_request_id = mock.patch( context_patcher = self.mock_gen_request_id = mock.patch(

View File

@ -12,13 +12,10 @@
# License for the specific language governing permissions and limitations # License for the specific language governing permissions and limitations
# under the License. # under the License.
import nova.scheduler.utils
import nova.servicegroup
from nova import test from nova import test
from nova.tests import fixtures as nova_fixtures from nova.tests import fixtures as nova_fixtures
from nova.tests.functional.api import client from nova.tests.functional.api import client
from nova.tests.unit import cast_as_call from nova.tests.unit import cast_as_call
import nova.tests.unit.image.fake
from nova.tests.unit import policy_fixture from nova.tests.unit import policy_fixture
@ -29,20 +26,17 @@ class TestServerGet(test.TestCase):
super(TestServerGet, self).setUp() super(TestServerGet, self).setUp()
self.useFixture(policy_fixture.RealPolicyFixture()) self.useFixture(policy_fixture.RealPolicyFixture())
self.useFixture(nova_fixtures.NeutronFixture(self)) self.useFixture(nova_fixtures.NeutronFixture(self))
self.useFixture(nova_fixtures.GlanceFixture(self))
api_fixture = self.useFixture(nova_fixtures.OSAPIFixture( api_fixture = self.useFixture(nova_fixtures.OSAPIFixture(
api_version='v2.1')) api_version='v2.1'))
self.api = api_fixture.api self.api = api_fixture.api
# the image fake backend needed for image discovery
nova.tests.unit.image.fake.stub_out_image_service(self)
self.start_service('conductor') self.start_service('conductor')
self.start_service('scheduler') self.start_service('scheduler')
self.compute = self.start_service('compute') self.compute = self.start_service('compute')
self.useFixture(cast_as_call.CastAsCall(self)) self.useFixture(cast_as_call.CastAsCall(self))
self.addCleanup(nova.tests.unit.image.fake.FakeImageService_reset)
self.image_id = self.api.get_images()[0]['id'] self.image_id = self.api.get_images()[0]['id']
self.flavor_id = self.api.get_flavors()[0]['id'] self.flavor_id = self.api.get_flavors()[0]['id']

View File

@ -12,12 +12,9 @@
# License for the specific language governing permissions and limitations # License for the specific language governing permissions and limitations
# under the License. # under the License.
import nova.scheduler.utils
import nova.servicegroup
from nova import test from nova import test
from nova.tests import fixtures as nova_fixtures from nova.tests import fixtures as nova_fixtures
from nova.tests.functional.api import client from nova.tests.functional.api import client
import nova.tests.unit.image.fake
from nova.tests.unit import policy_fixture from nova.tests.unit import policy_fixture
@ -28,14 +25,12 @@ class TestServerValidation(test.TestCase):
def setUp(self): def setUp(self):
super(TestServerValidation, self).setUp() super(TestServerValidation, self).setUp()
self.useFixture(policy_fixture.RealPolicyFixture()) self.useFixture(policy_fixture.RealPolicyFixture())
self.useFixture(nova_fixtures.GlanceFixture(self))
api_fixture = self.useFixture(nova_fixtures.OSAPIFixture( api_fixture = self.useFixture(nova_fixtures.OSAPIFixture(
api_version='v2.1')) api_version='v2.1'))
# the image fake backend needed for image discovery
nova.tests.unit.image.fake.stub_out_image_service(self)
self.addCleanup(nova.tests.unit.image.fake.FakeImageService_reset)
self.api = api_fixture.api self.api = api_fixture.api
self.image_id = self.api.get_images()[0]['id'] self.image_id = self.api.get_images()[0]['id']
self.flavor_id = self.api.get_flavors()[0]['id'] self.flavor_id = self.api.get_flavors()[0]['id']

View File

@ -14,13 +14,10 @@
import time import time
import nova.scheduler.utils
import nova.servicegroup
from nova import test from nova import test
from nova.tests import fixtures as nova_fixtures from nova.tests import fixtures as nova_fixtures
from nova.tests.functional.api import client from nova.tests.functional.api import client
from nova.tests.unit import cast_as_call from nova.tests.unit import cast_as_call
import nova.tests.unit.image.fake
from nova.tests.unit import policy_fixture from nova.tests.unit import policy_fixture
@ -31,27 +28,23 @@ class TestServerGet(test.TestCase):
super(TestServerGet, self).setUp() super(TestServerGet, self).setUp()
self.useFixture(policy_fixture.RealPolicyFixture()) self.useFixture(policy_fixture.RealPolicyFixture())
self.useFixture(nova_fixtures.NeutronFixture(self)) self.useFixture(nova_fixtures.NeutronFixture(self))
api_fixture = self.useFixture(nova_fixtures.OSAPIFixture( self.useFixture(nova_fixtures.GlanceFixture(self))
api_version='v2.1')) self.useFixture(cast_as_call.CastAsCall(self))
# The non-admin API client is fine to stay at 2.1 since it just creates # The non-admin API client is fine to stay at 2.1 since it just creates
# and deletes the server. # and deletes the server.
api_fixture = self.useFixture(nova_fixtures.OSAPIFixture(
api_version='v2.1'))
self.api = api_fixture.api self.api = api_fixture.api
self.admin_api = api_fixture.admin_api self.admin_api = api_fixture.admin_api
# The admin API client needs to be at microversion 2.16 to exhibit the # The admin API client needs to be at microversion 2.16 to exhibit the
# regression. # regression.
self.admin_api.microversion = '2.16' self.admin_api.microversion = '2.16'
# the image fake backend needed for image discovery
nova.tests.unit.image.fake.stub_out_image_service(self)
self.start_service('conductor') self.start_service('conductor')
self.start_service('scheduler') self.start_service('scheduler')
self.compute = self.start_service('compute') self.compute = self.start_service('compute')
self.useFixture(cast_as_call.CastAsCall(self))
self.addCleanup(nova.tests.unit.image.fake.FakeImageService_reset)
self.image_id = self.api.get_images()[0]['id'] self.image_id = self.api.get_images()[0]['id']
self.flavor_id = self.api.get_flavors()[0]['id'] self.flavor_id = self.api.get_flavors()[0]['id']

View File

@ -17,7 +17,6 @@ import datetime
from nova import test from nova import test
from nova.tests import fixtures as nova_fixtures from nova.tests import fixtures as nova_fixtures
from nova.tests.functional.api import client as api_client from nova.tests.functional.api import client as api_client
from nova.tests.unit.image import fake as fake_image
from nova.tests.unit import policy_fixture from nova.tests.unit import policy_fixture
@ -27,15 +26,12 @@ class TestServerGet(test.TestCase):
super(TestServerGet, self).setUp() super(TestServerGet, self).setUp()
self.useFixture(policy_fixture.RealPolicyFixture()) self.useFixture(policy_fixture.RealPolicyFixture())
self.useFixture(nova_fixtures.NeutronFixture(self)) self.useFixture(nova_fixtures.NeutronFixture(self))
self.glance = self.useFixture(nova_fixtures.GlanceFixture(self))
api_fixture = self.useFixture(nova_fixtures.OSAPIFixture( api_fixture = self.useFixture(nova_fixtures.OSAPIFixture(
api_version='v2.1')) api_version='v2.1'))
self.api = api_fixture.api self.api = api_fixture.api
# the image fake backend needed for image discovery
image_service = fake_image.stub_out_image_service(self)
self.addCleanup(fake_image.FakeImageService_reset)
# NOTE(mriedem): This image has an invalid architecture metadata value # NOTE(mriedem): This image has an invalid architecture metadata value
# and is used for negative testing in the functional stack. # and is used for negative testing in the functional stack.
timestamp = datetime.datetime(2011, 1, 1, 1, 2, 3) timestamp = datetime.datetime(2011, 1, 1, 1, 2, 3)
@ -53,7 +49,7 @@ class TestServerGet(test.TestCase):
'properties': {'kernel_id': 'nokernel', 'properties': {'kernel_id': 'nokernel',
'ramdisk_id': 'nokernel', 'ramdisk_id': 'nokernel',
'architecture': 'x64'}} 'architecture': 'x64'}}
self.image_id = image_service.create(None, image)['id'] self.image_id = self.glance.create(None, image)['id']
self.flavor_id = self.api.get_flavors()[0]['id'] self.flavor_id = self.api.get_flavors()[0]['id']
def test_boot_server_with_invalid_image_meta(self): def test_boot_server_with_invalid_image_meta(self):

View File

@ -18,7 +18,6 @@ import fixtures
import io import io
import mock import mock
import nova
from nova import test from nova import test
from nova.tests import fixtures as nova_fixtures from nova.tests import fixtures as nova_fixtures
from nova.tests.functional import fixtures as func_fixtures from nova.tests.functional import fixtures as func_fixtures
@ -35,6 +34,7 @@ class TestSerialConsoleLiveMigrate(test.TestCase):
super(TestSerialConsoleLiveMigrate, self).setUp() super(TestSerialConsoleLiveMigrate, self).setUp()
self.useFixture(policy_fixture.RealPolicyFixture()) self.useFixture(policy_fixture.RealPolicyFixture())
self.useFixture(nova_fixtures.NeutronFixture(self)) self.useFixture(nova_fixtures.NeutronFixture(self))
self.useFixture(nova_fixtures.GlanceFixture(self))
self.useFixture(func_fixtures.PlacementFixture()) self.useFixture(func_fixtures.PlacementFixture())
api_fixture = self.useFixture(nova_fixtures.OSAPIFixture( api_fixture = self.useFixture(nova_fixtures.OSAPIFixture(
api_version='v2.1')) api_version='v2.1'))
@ -53,10 +53,6 @@ class TestSerialConsoleLiveMigrate(test.TestCase):
self.admin_api = api_fixture.admin_api self.admin_api = api_fixture.admin_api
self.api = api_fixture.api self.api = api_fixture.api
# the image fake backend needed for image discovery
nova.tests.unit.image.fake.stub_out_image_service(self)
nova.tests.unit.fake_network.set_stub_network_methods(self)
self.flags(compute_driver='libvirt.LibvirtDriver') self.flags(compute_driver='libvirt.LibvirtDriver')
self.flags(enabled=True, group="serial_console") self.flags(enabled=True, group="serial_console")
self.flags(enabled=False, group="vnc") self.flags(enabled=False, group="vnc")
@ -68,7 +64,6 @@ class TestSerialConsoleLiveMigrate(test.TestCase):
self.compute = self.start_service('compute', host='test_compute1') self.compute = self.start_service('compute', host='test_compute1')
self.useFixture(cast_as_call.CastAsCall(self)) self.useFixture(cast_as_call.CastAsCall(self))
self.addCleanup(nova.tests.unit.image.fake.FakeImageService_reset)
self.image_id = self.api.get_images()[0]['id'] self.image_id = self.api.get_images()[0]['id']
self.flavor_id = self.api.get_flavors()[0]['id'] self.flavor_id = self.api.get_flavors()[0]['id']

View File

@ -13,7 +13,6 @@
from nova import test from nova import test
from nova.tests import fixtures as nova_fixtures from nova.tests import fixtures as nova_fixtures
from nova.tests.unit import cast_as_call from nova.tests.unit import cast_as_call
import nova.tests.unit.image.fake
from nova.tests.unit import policy_fixture from nova.tests.unit import policy_fixture
@ -24,6 +23,7 @@ class TestServerUpdate(test.TestCase):
super(TestServerUpdate, self).setUp() super(TestServerUpdate, self).setUp()
self.useFixture(policy_fixture.RealPolicyFixture()) self.useFixture(policy_fixture.RealPolicyFixture())
self.useFixture(nova_fixtures.NeutronFixture(self)) self.useFixture(nova_fixtures.NeutronFixture(self))
self.useFixture(nova_fixtures.GlanceFixture(self))
# Simulate requests coming in before the instance is scheduled by # Simulate requests coming in before the instance is scheduled by
# using a no-op for conductor build_instances # using a no-op for conductor build_instances
self.useFixture(nova_fixtures.NoopConductorFixture()) self.useFixture(nova_fixtures.NoopConductorFixture())
@ -32,11 +32,7 @@ class TestServerUpdate(test.TestCase):
self.api = api_fixture.api self.api = api_fixture.api
# the image fake backend needed for image discovery
nova.tests.unit.image.fake.stub_out_image_service(self)
self.useFixture(cast_as_call.CastAsCall(self)) self.useFixture(cast_as_call.CastAsCall(self))
self.addCleanup(nova.tests.unit.image.fake.FakeImageService_reset)
self.image_id = self.api.get_images()[0]['id'] self.image_id = self.api.get_images()[0]['id']
self.flavor_id = self.api.get_flavors()[0]['id'] self.flavor_id = self.api.get_flavors()[0]['id']

View File

@ -18,7 +18,6 @@ from nova import test
from nova.tests import fixtures as nova_fixtures from nova.tests import fixtures as nova_fixtures
from nova.tests.functional.api import client from nova.tests.functional.api import client
from nova.tests.unit import cast_as_call from nova.tests.unit import cast_as_call
import nova.tests.unit.image.fake
from nova.tests.unit import policy_fixture from nova.tests.unit import policy_fixture
@ -50,13 +49,12 @@ class TestDeleteFromCell0CheckQuota(test.TestCase):
super(TestDeleteFromCell0CheckQuota, self).setUp() super(TestDeleteFromCell0CheckQuota, self).setUp()
self.useFixture(policy_fixture.RealPolicyFixture()) self.useFixture(policy_fixture.RealPolicyFixture())
self.useFixture(nova_fixtures.NeutronFixture(self)) self.useFixture(nova_fixtures.NeutronFixture(self))
self.useFixture(nova_fixtures.GlanceFixture(self))
api_fixture = self.useFixture(nova_fixtures.OSAPIFixture( api_fixture = self.useFixture(nova_fixtures.OSAPIFixture(
api_version='v2.1')) api_version='v2.1'))
self.api = api_fixture.api self.api = api_fixture.api
# the image fake backend needed for image discovery
nova.tests.unit.image.fake.stub_out_image_service(self)
self.start_service('conductor') self.start_service('conductor')
self.start_service('scheduler') self.start_service('scheduler')

View File

@ -14,14 +14,13 @@
import time import time
import nova.compute.resource_tracker from nova.compute import resource_tracker
from nova import exception from nova import exception
from nova import test from nova import test
from nova.tests import fixtures as nova_fixtures from nova.tests import fixtures as nova_fixtures
from nova.tests.functional import fixtures as func_fixtures from nova.tests.functional import fixtures as func_fixtures
from nova.tests.unit import cast_as_call from nova.tests.unit import cast_as_call
from nova.tests.unit import fake_network from nova.tests.unit import fake_network
import nova.tests.unit.image.fake
from nova.tests.unit import policy_fixture from nova.tests.unit import policy_fixture
@ -59,7 +58,7 @@ class TestRetryBetweenComputeNodeBuilds(test.TestCase):
self.admin_api = api_fixture.admin_api self.admin_api = api_fixture.admin_api
# the image fake backend needed for image discovery # the image fake backend needed for image discovery
nova.tests.unit.image.fake.stub_out_image_service(self) self.useFixture(nova_fixtures.GlanceFixture(self))
self.start_service('conductor') self.start_service('conductor')
@ -86,8 +85,7 @@ class TestRetryBetweenComputeNodeBuilds(test.TestCase):
# https://opendev.org/openstack/nova/src/commit/ # https://opendev.org/openstack/nova/src/commit/
# bb02d1110a9529217a5e9b1e1fe8ca25873cac59/ # bb02d1110a9529217a5e9b1e1fe8ca25873cac59/
# nova/compute/resource_tracker.py#L121-L130 # nova/compute/resource_tracker.py#L121-L130
real_instance_claim =\ real_instance_claim = resource_tracker.ResourceTracker.instance_claim
nova.compute.resource_tracker.ResourceTracker.instance_claim
def fake_instance_claim(_self, *args, **kwargs): def fake_instance_claim(_self, *args, **kwargs):
self.attempts += 1 self.attempts += 1

View File

@ -21,7 +21,6 @@ from nova.tests import fixtures as nova_fixtures
from nova.tests.functional.api import client from nova.tests.functional.api import client
from nova.tests.functional import fixtures as func_fixtures from nova.tests.functional import fixtures as func_fixtures
from nova.tests.unit import cast_as_call from nova.tests.unit import cast_as_call
import nova.tests.unit.image.fake
from nova.tests.unit import policy_fixture from nova.tests.unit import policy_fixture
LOG = logging.getLogger(__name__) LOG = logging.getLogger(__name__)
@ -60,7 +59,7 @@ class TestLocalDeleteAttachedVolumes(test.TestCase):
self.api.microversion = 'latest' self.api.microversion = 'latest'
# the image fake backend needed for image discovery # the image fake backend needed for image discovery
nova.tests.unit.image.fake.stub_out_image_service(self) self.useFixture(nova_fixtures.GlanceFixture(self))
self.start_service('conductor') self.start_service('conductor')
self.start_service('scheduler') self.start_service('scheduler')
@ -128,7 +127,7 @@ class TestLocalDeleteAttachedVolumes(test.TestCase):
LOG.info('Creating server and waiting for it to be ACTIVE.') LOG.info('Creating server and waiting for it to be ACTIVE.')
server = dict( server = dict(
name='local-delete-volume-attach-test', name='local-delete-volume-attach-test',
# The image ID comes from nova.tests.unit.image.fake. # The image ID comes from GlanceFixture
imageRef='76fa36fc-c930-4bf3-8c8a-ea2a2420deb6', imageRef='76fa36fc-c930-4bf3-8c8a-ea2a2420deb6',
flavorRef=self.flavor_id, flavorRef=self.flavor_id,
# Bypass network setup on the compute. # Bypass network setup on the compute.

View File

@ -19,7 +19,6 @@ from nova import test
from nova.tests import fixtures as nova_fixtures from nova.tests import fixtures as nova_fixtures
from nova.tests.functional import fixtures as func_fixtures from nova.tests.functional import fixtures as func_fixtures
from nova.tests.functional import integrated_helpers from nova.tests.functional import integrated_helpers
import nova.tests.unit.image.fake
from nova.tests.unit import policy_fixture from nova.tests.unit import policy_fixture
@ -30,14 +29,13 @@ class TestLocalDeleteAllocations(test.TestCase,
self.useFixture(policy_fixture.RealPolicyFixture()) self.useFixture(policy_fixture.RealPolicyFixture())
# The NeutronFixture is needed to show security groups for a server. # The NeutronFixture is needed to show security groups for a server.
self.useFixture(nova_fixtures.NeutronFixture(self)) self.useFixture(nova_fixtures.NeutronFixture(self))
self.useFixture(nova_fixtures.GlanceFixture(self))
api_fixture = self.useFixture(nova_fixtures.OSAPIFixture( api_fixture = self.useFixture(nova_fixtures.OSAPIFixture(
api_version='v2.1')) api_version='v2.1'))
self.api = api_fixture.api self.api = api_fixture.api
self.admin_api = api_fixture.admin_api self.admin_api = api_fixture.admin_api
# We need the latest microversion to force-down the compute service # We need the latest microversion to force-down the compute service
self.admin_api.microversion = 'latest' self.admin_api.microversion = 'latest'
# the image fake backend needed for image discovery
nova.tests.unit.image.fake.stub_out_image_service(self)
self.start_service('conductor') self.start_service('conductor')

View File

@ -16,7 +16,6 @@ from nova import test
from nova.tests import fixtures as nova_fixtures from nova.tests import fixtures as nova_fixtures
from nova.tests.functional import fixtures as func_fixtures from nova.tests.functional import fixtures as func_fixtures
from nova.tests.functional import integrated_helpers from nova.tests.functional import integrated_helpers
from nova.tests.unit.image import fake as image_fake
from nova.tests.unit import policy_fixture from nova.tests.unit import policy_fixture
@ -41,8 +40,7 @@ class ServerTagsFilteringTest(test.TestCase,
self.api = api_fixture.api self.api = api_fixture.api
# the image fake backend needed for image discovery # the image fake backend needed for image discovery
image_fake.stub_out_image_service(self) self.useFixture(nova_fixtures.GlanceFixture(self))
self.addCleanup(image_fake.FakeImageService_reset)
# Use the latest microversion available to make sure something does # Use the latest microversion available to make sure something does
# not regress in new microversions; cap as necessary. # not regress in new microversions; cap as necessary.

View File

@ -16,7 +16,6 @@ from nova import test
from nova.tests import fixtures as nova_fixtures from nova.tests import fixtures as nova_fixtures
from nova.tests.functional import integrated_helpers from nova.tests.functional import integrated_helpers
from nova.tests.unit import cast_as_call from nova.tests.unit import cast_as_call
from nova.tests.unit.image import fake as image_fake
from nova.tests.unit import policy_fixture from nova.tests.unit import policy_fixture
@ -42,8 +41,7 @@ class ServerListLimitMarkerCell0Test(test.TestCase,
self.api = api_fixture.api self.api = api_fixture.api
# the image fake backend needed for image discovery # the image fake backend needed for image discovery
image_fake.stub_out_image_service(self) self.useFixture(nova_fixtures.GlanceFixture(self))
self.addCleanup(image_fake.FakeImageService_reset)
# Use the latest microversion available to make sure something does # Use the latest microversion available to make sure something does
# not regress in new microversions; cap as necessary. # not regress in new microversions; cap as necessary.

View File

@ -15,7 +15,6 @@ from nova.tests import fixtures as nova_fixtures
from nova.tests.functional import fixtures as func_fixtures from nova.tests.functional import fixtures as func_fixtures
from nova.tests.functional import integrated_helpers from nova.tests.functional import integrated_helpers
from nova.tests.unit import cast_as_call from nova.tests.unit import cast_as_call
from nova.tests.unit.image import fake as image_fake
from nova.tests.unit import policy_fixture from nova.tests.unit import policy_fixture
@ -59,8 +58,7 @@ class SchedulerOnlyChecksTargetTest(test.TestCase,
self.api = api_fixture.api self.api = api_fixture.api
# the image fake backend needed for image discovery # the image fake backend needed for image discovery
image_fake.stub_out_image_service(self) self.useFixture(nova_fixtures.GlanceFixture(self))
self.addCleanup(image_fake.FakeImageService_reset)
self.start_service('conductor') self.start_service('conductor')

View File

@ -22,7 +22,6 @@ from nova.tests.functional import fixtures as func_fixtures
from nova.tests.functional import integrated_helpers from nova.tests.functional import integrated_helpers
from nova.tests.unit import fake_network from nova.tests.unit import fake_network
from nova.tests.unit import fake_notifier from nova.tests.unit import fake_notifier
import nova.tests.unit.image.fake
from nova.tests.unit import policy_fixture from nova.tests.unit import policy_fixture
@ -47,6 +46,7 @@ class FailedEvacuateStateTests(test.TestCase,
self.useFixture(policy_fixture.RealPolicyFixture()) self.useFixture(policy_fixture.RealPolicyFixture())
self.useFixture(nova_fixtures.NeutronFixture(self)) self.useFixture(nova_fixtures.NeutronFixture(self))
self.useFixture(nova_fixtures.GlanceFixture(self))
self.useFixture(func_fixtures.PlacementFixture()) self.useFixture(func_fixtures.PlacementFixture())
api_fixture = self.useFixture(nova_fixtures.OSAPIFixture( api_fixture = self.useFixture(nova_fixtures.OSAPIFixture(
@ -55,13 +55,9 @@ class FailedEvacuateStateTests(test.TestCase,
self.api = api_fixture.admin_api self.api = api_fixture.admin_api
self.api.microversion = self.microversion self.api.microversion = self.microversion
nova.tests.unit.image.fake.stub_out_image_service(self)
self.start_service('conductor') self.start_service('conductor')
self.start_service('scheduler') self.start_service('scheduler')
self.addCleanup(nova.tests.unit.image.fake.FakeImageService_reset)
self.hostname = 'host1' self.hostname = 'host1'
self.compute1 = self.start_service('compute', host=self.hostname) self.compute1 = self.start_service('compute', host=self.hostname)
fake_network.set_stub_network_methods(self) fake_network.set_stub_network_methods(self)

View File

@ -17,7 +17,6 @@ from nova.tests import fixtures as nova_fixtures
from nova.tests.functional import fixtures as func_fixtures from nova.tests.functional import fixtures as func_fixtures
from nova.tests.functional import integrated_helpers from nova.tests.functional import integrated_helpers
from nova.tests.unit import fake_network from nova.tests.unit import fake_network
import nova.tests.unit.image.fake
from nova.tests.unit import policy_fixture from nova.tests.unit import policy_fixture
@ -46,6 +45,7 @@ class TestLiveMigrateOneOfConcurrentlyCreatedInstances(
self.useFixture(policy_fixture.RealPolicyFixture()) self.useFixture(policy_fixture.RealPolicyFixture())
self.useFixture(nova_fixtures.NeutronFixture(self)) self.useFixture(nova_fixtures.NeutronFixture(self))
self.useFixture(nova_fixtures.GlanceFixture(self))
self.useFixture(func_fixtures.PlacementFixture()) self.useFixture(func_fixtures.PlacementFixture())
api_fixture = self.useFixture(nova_fixtures.OSAPIFixture( api_fixture = self.useFixture(nova_fixtures.OSAPIFixture(
@ -54,9 +54,6 @@ class TestLiveMigrateOneOfConcurrentlyCreatedInstances(
self.api = api_fixture.admin_api self.api = api_fixture.admin_api
self.api.microversion = self.microversion self.api.microversion = self.microversion
nova.tests.unit.image.fake.stub_out_image_service(self)
self.addCleanup(nova.tests.unit.image.fake.FakeImageService_reset)
self.start_service('conductor') self.start_service('conductor')
self.start_service('scheduler') self.start_service('scheduler')

View File

@ -17,7 +17,6 @@ from nova import test
from nova.tests import fixtures as nova_fixtures from nova.tests import fixtures as nova_fixtures
from nova.tests.functional import fixtures as func_fixtures from nova.tests.functional import fixtures as func_fixtures
from nova.tests.functional import integrated_helpers from nova.tests.functional import integrated_helpers
from nova.tests.unit.image import fake as image_fake
from nova.tests.unit import policy_fixture from nova.tests.unit import policy_fixture
@ -52,8 +51,7 @@ class TestRequestSpecRetryReschedule(test.TestCase,
self.api = api_fixture.api self.api = api_fixture.api
# the image fake backend needed for image discovery # the image fake backend needed for image discovery
image_fake.stub_out_image_service(self) self.useFixture(nova_fixtures.GlanceFixture(self))
self.addCleanup(image_fake.FakeImageService_reset)
self.start_service('conductor') self.start_service('conductor')

View File

@ -16,7 +16,6 @@ from nova.tests import fixtures as nova_fixtures
from nova.tests.functional import fixtures as func_fixtures from nova.tests.functional import fixtures as func_fixtures
from nova.tests.functional import integrated_helpers from nova.tests.functional import integrated_helpers
from nova.tests.unit import fake_network from nova.tests.unit import fake_network
import nova.tests.unit.image.fake
from nova.tests.unit import policy_fixture from nova.tests.unit import policy_fixture
@ -56,8 +55,7 @@ class TestRescheduleWithServerGroup(test.TestCase,
self.admin_api = api_fixture.admin_api self.admin_api = api_fixture.admin_api
# the image fake backend needed for image discovery # the image fake backend needed for image discovery
nova.tests.unit.image.fake.stub_out_image_service(self) self.useFixture(nova_fixtures.GlanceFixture(self))
self.addCleanup(nova.tests.unit.image.fake.FakeImageService_reset)
self.start_service('conductor') self.start_service('conductor')
self.start_service('scheduler') self.start_service('scheduler')

View File

@ -10,13 +10,13 @@
# See the License for the specific language governing permissions and # See the License for the specific language governing permissions and
# limitations under the License. # limitations under the License.
from nova.compute import manager
from nova import test from nova import test
from nova.tests import fixtures as nova_fixtures from nova.tests import fixtures as nova_fixtures
from nova.tests.functional import fixtures as func_fixtures from nova.tests.functional import fixtures as func_fixtures
from nova.tests.functional import integrated_helpers from nova.tests.functional import integrated_helpers
from nova.tests.unit import fake_network from nova.tests.unit import fake_network
from nova.tests.unit import fake_notifier from nova.tests.unit import fake_notifier
import nova.tests.unit.image.fake
from nova.tests.unit import policy_fixture from nova.tests.unit import policy_fixture
@ -52,8 +52,7 @@ class TestParallelEvacuationWithServerGroup(
self.addCleanup(fake_notifier.reset) self.addCleanup(fake_notifier.reset)
# the image fake backend needed for image discovery # the image fake backend needed for image discovery
nova.tests.unit.image.fake.stub_out_image_service(self) self.useFixture(nova_fixtures.GlanceFixture(self))
self.addCleanup(nova.tests.unit.image.fake.FakeImageService_reset)
self.start_service('conductor') self.start_service('conductor')
self.start_service('scheduler') self.start_service('scheduler')
@ -66,7 +65,7 @@ class TestParallelEvacuationWithServerGroup(
self.image_id = self.api.get_images()[0]['id'] self.image_id = self.api.get_images()[0]['id']
self.flavor_id = self.api.get_flavors()[0]['id'] self.flavor_id = self.api.get_flavors()[0]['id']
manager_class = nova.compute.manager.ComputeManager manager_class = manager.ComputeManager
original_rebuild = manager_class._do_rebuild_instance original_rebuild = manager_class._do_rebuild_instance
def fake_rebuild(self_, context, instance, *args, **kwargs): def fake_rebuild(self_, context, instance, *args, **kwargs):

View File

@ -14,7 +14,6 @@ from nova import test
from nova.tests import fixtures as nova_fixtures from nova.tests import fixtures as nova_fixtures
from nova.tests.functional import fixtures as func_fixtures from nova.tests.functional import fixtures as func_fixtures
from nova.tests.functional import integrated_helpers from nova.tests.functional import integrated_helpers
import nova.tests.unit.image.fake
from nova.tests.unit import policy_fixture from nova.tests.unit import policy_fixture
@ -47,6 +46,7 @@ class TestResizeWithNoAllocationScheduler(
super(TestResizeWithNoAllocationScheduler, self).setUp() super(TestResizeWithNoAllocationScheduler, self).setUp()
self.useFixture(policy_fixture.RealPolicyFixture()) self.useFixture(policy_fixture.RealPolicyFixture())
self.useFixture(nova_fixtures.GlanceFixture(self))
self.useFixture(nova_fixtures.NeutronFixture(self)) self.useFixture(nova_fixtures.NeutronFixture(self))
self.useFixture(func_fixtures.PlacementFixture()) self.useFixture(func_fixtures.PlacementFixture())
@ -56,9 +56,6 @@ class TestResizeWithNoAllocationScheduler(
self.api = api_fixture.admin_api self.api = api_fixture.admin_api
self.api.microversion = self.microversion self.api.microversion = self.microversion
nova.tests.unit.image.fake.stub_out_image_service(self)
self.addCleanup(nova.tests.unit.image.fake.FakeImageService_reset)
self.start_service('conductor') self.start_service('conductor')
# Create two compute nodes/services. # Create two compute nodes/services.

View File

@ -15,7 +15,6 @@ from nova import test
from nova.tests import fixtures as nova_fixtures from nova.tests import fixtures as nova_fixtures
from nova.tests.functional import fixtures as func_fixtures from nova.tests.functional import fixtures as func_fixtures
from nova.tests.functional import integrated_helpers from nova.tests.functional import integrated_helpers
from nova.tests.unit.image import fake as image_fakes
from nova.tests.unit import policy_fixture from nova.tests.unit import policy_fixture
from nova import utils from nova import utils
@ -39,6 +38,7 @@ class TestBootFromVolumeIsolatedHostsFilter(
self.useFixture(policy_fixture.RealPolicyFixture()) self.useFixture(policy_fixture.RealPolicyFixture())
self.useFixture(nova_fixtures.NeutronFixture(self)) self.useFixture(nova_fixtures.NeutronFixture(self))
self.glance = self.useFixture(nova_fixtures.GlanceFixture(self))
self.useFixture(nova_fixtures.CinderFixture(self)) self.useFixture(nova_fixtures.CinderFixture(self))
self.useFixture(func_fixtures.PlacementFixture()) self.useFixture(func_fixtures.PlacementFixture())
@ -47,9 +47,6 @@ class TestBootFromVolumeIsolatedHostsFilter(
self.api = api_fixture.admin_api self.api = api_fixture.admin_api
image_fakes.stub_out_image_service(self)
self.addCleanup(image_fakes.FakeImageService_reset)
self.start_service('conductor') self.start_service('conductor')
# Add the IsolatedHostsFilter to the list of enabled filters since it # Add the IsolatedHostsFilter to the list of enabled filters since it
@ -58,7 +55,7 @@ class TestBootFromVolumeIsolatedHostsFilter(
enabled_filters.append('IsolatedHostsFilter') enabled_filters.append('IsolatedHostsFilter')
self.flags( self.flags(
enabled_filters=enabled_filters, enabled_filters=enabled_filters,
isolated_images=[image_fakes.AUTO_DISK_CONFIG_ENABLED_IMAGE_UUID], isolated_images=[self.glance.auto_disk_config_enabled_image['id']],
isolated_hosts=['host1'], isolated_hosts=['host1'],
restrict_isolated_hosts_to_isolated_images=True, restrict_isolated_hosts_to_isolated_images=True,
group='filter_scheduler') group='filter_scheduler')

View File

@ -16,7 +16,6 @@ from nova import test
from nova.tests import fixtures as nova_fixtures from nova.tests import fixtures as nova_fixtures
from nova.tests.functional import fixtures as func_fixtures from nova.tests.functional import fixtures as func_fixtures
from nova.tests.functional import integrated_helpers from nova.tests.functional import integrated_helpers
from nova.tests.unit.image import fake as fake_image
from nova.tests.unit import policy_fixture from nova.tests.unit import policy_fixture
from nova import utils from nova import utils
@ -49,8 +48,7 @@ class InstanceListWithDeletedServicesTestCase(
self.admin_api.microversion = 'latest' self.admin_api.microversion = 'latest'
# the image fake backend needed for image discovery # the image fake backend needed for image discovery
fake_image.stub_out_image_service(self) self.useFixture(nova_fixtures.GlanceFixture(self))
self.addCleanup(fake_image.FakeImageService_reset)
self.api.microversion = 'latest' self.api.microversion = 'latest'

View File

@ -10,14 +10,13 @@
# See the License for the specific language governing permissions and # See the License for the specific language governing permissions and
# limitations under the License. # limitations under the License.
from nova.compute import manager
from nova import test from nova import test
from nova.tests import fixtures as nova_fixtures from nova.tests import fixtures as nova_fixtures
from nova.tests.functional import fixtures as func_fixtures from nova.tests.functional import fixtures as func_fixtures
from nova.tests.functional import integrated_helpers from nova.tests.functional import integrated_helpers
from nova.tests.unit import fake_network from nova.tests.unit import fake_network
from nova.tests.unit import fake_notifier from nova.tests.unit import fake_notifier
import nova.tests.unit.image.fake
from nova.tests.unit import policy_fixture from nova.tests.unit import policy_fixture
@ -53,8 +52,7 @@ class TestEvacuationWithSourceReturningDuringRebuild(
self.api.microversion = '2.14' self.api.microversion = '2.14'
# the image fake backend needed for image discovery # the image fake backend needed for image discovery
nova.tests.unit.image.fake.stub_out_image_service(self) self.useFixture(nova_fixtures.GlanceFixture(self))
self.addCleanup(nova.tests.unit.image.fake.FakeImageService_reset)
self.start_service('conductor') self.start_service('conductor')
self.start_service('scheduler') self.start_service('scheduler')
@ -71,7 +69,7 @@ class TestEvacuationWithSourceReturningDuringRebuild(
# Stub out rebuild with a slower method allowing the src compute to be # Stub out rebuild with a slower method allowing the src compute to be
# restarted once the migration hits pre-migrating after claiming # restarted once the migration hits pre-migrating after claiming
# resources on the dest. # resources on the dest.
manager_class = nova.compute.manager.ComputeManager manager_class = manager.ComputeManager
original_rebuild = manager_class._do_rebuild_instance original_rebuild = manager_class._do_rebuild_instance
def start_src_rebuild(self_, context, instance, *args, **kwargs): def start_src_rebuild(self_, context, instance, *args, **kwargs):

View File

@ -14,7 +14,6 @@ from nova import test
from nova.tests import fixtures as nova_fixtures from nova.tests import fixtures as nova_fixtures
from nova.tests.functional import fixtures as func_fixtures from nova.tests.functional import fixtures as func_fixtures
from nova.tests.functional import integrated_helpers from nova.tests.functional import integrated_helpers
from nova.tests.unit.image import fake as fake_image
from nova.tests.unit import policy_fixture from nova.tests.unit import policy_fixture
@ -41,6 +40,7 @@ class TestMultiCreateServerGroupMemberOverQuota(
self.flags(server_group_members=2, group='quota') self.flags(server_group_members=2, group='quota')
self.useFixture(policy_fixture.RealPolicyFixture()) self.useFixture(policy_fixture.RealPolicyFixture())
self.useFixture(nova_fixtures.NeutronFixture(self)) self.useFixture(nova_fixtures.NeutronFixture(self))
self.glance = self.useFixture(nova_fixtures.GlanceFixture(self))
self.useFixture(func_fixtures.PlacementFixture()) self.useFixture(func_fixtures.PlacementFixture())
api_fixture = self.useFixture(nova_fixtures.OSAPIFixture( api_fixture = self.useFixture(nova_fixtures.OSAPIFixture(
@ -48,9 +48,6 @@ class TestMultiCreateServerGroupMemberOverQuota(
self.api = api_fixture.api self.api = api_fixture.api
self.api.microversion = '2.37' # so we can specify networks='none' self.api.microversion = '2.37' # so we can specify networks='none'
fake_image.stub_out_image_service(self)
self.addCleanup(fake_image.FakeImageService_reset)
group = {'name': 'test group', 'policies': ['soft-anti-affinity']} group = {'name': 'test group', 'policies': ['soft-anti-affinity']}
self.created_group = self.api.post_server_groups(group) self.created_group = self.api.post_server_groups(group)
@ -59,9 +56,7 @@ class TestMultiCreateServerGroupMemberOverQuota(
server group and then create 3 servers in the group using a server group and then create 3 servers in the group using a
multi-create POST /servers request. multi-create POST /servers request.
""" """
server_req = self._build_server( server_req = self._build_server(networks='none')
image_uuid=fake_image.AUTO_DISK_CONFIG_ENABLED_IMAGE_UUID,
networks='none')
server_req['min_count'] = 3 server_req['min_count'] = 3
server_req['return_reservation_id'] = True server_req['return_reservation_id'] = True
hints = {'group': self.created_group['id']} hints = {'group': self.created_group['id']}
@ -86,9 +81,7 @@ class TestMultiCreateServerGroupMemberOverQuota(
# by using NoopConductorFixture. # by using NoopConductorFixture.
self.useFixture(nova_fixtures.NoopConductorFixture()) self.useFixture(nova_fixtures.NoopConductorFixture())
for x in range(3): for x in range(3):
server_req = self._build_server( server_req = self._build_server(networks='none')
image_uuid=fake_image.AUTO_DISK_CONFIG_ENABLED_IMAGE_UUID,
networks='none')
hints = {'group': self.created_group['id']} hints = {'group': self.created_group['id']}
# This should result in a 403 response on the 3rd server. # This should result in a 403 response on the 3rd server.
if x == 2: if x == 2:

View File

@ -21,7 +21,6 @@ from nova.tests import fixtures as nova_fixtures
from nova.tests.functional import fixtures as func_fixtures from nova.tests.functional import fixtures as func_fixtures
from nova.tests.functional import integrated_helpers from nova.tests.functional import integrated_helpers
from nova.tests.unit import fake_notifier from nova.tests.unit import fake_notifier
from nova.tests.unit.image import fake as fake_image
from nova.tests.unit import policy_fixture from nova.tests.unit import policy_fixture
@ -39,10 +38,10 @@ class RescheduleBuildAvailabilityZoneUpCall(
super(RescheduleBuildAvailabilityZoneUpCall, self).setUp() super(RescheduleBuildAvailabilityZoneUpCall, self).setUp()
# Use the standard fixtures. # Use the standard fixtures.
self.useFixture(policy_fixture.RealPolicyFixture()) self.useFixture(policy_fixture.RealPolicyFixture())
self.useFixture(nova_fixtures.GlanceFixture(self))
self.useFixture(nova_fixtures.NeutronFixture(self)) self.useFixture(nova_fixtures.NeutronFixture(self))
self.useFixture(func_fixtures.PlacementFixture()) self.useFixture(func_fixtures.PlacementFixture())
fake_image.stub_out_image_service(self)
self.addCleanup(fake_image.FakeImageService_reset)
# Start controller services. # Start controller services.
self.api = self.useFixture(nova_fixtures.OSAPIFixture( self.api = self.useFixture(nova_fixtures.OSAPIFixture(
api_version='v2.1')).admin_api api_version='v2.1')).admin_api
@ -103,10 +102,9 @@ class RescheduleMigrateAvailabilityZoneUpCall(
super(RescheduleMigrateAvailabilityZoneUpCall, self).setUp() super(RescheduleMigrateAvailabilityZoneUpCall, self).setUp()
# Use the standard fixtures. # Use the standard fixtures.
self.useFixture(policy_fixture.RealPolicyFixture()) self.useFixture(policy_fixture.RealPolicyFixture())
self.useFixture(nova_fixtures.GlanceFixture(self))
self.useFixture(nova_fixtures.NeutronFixture(self)) self.useFixture(nova_fixtures.NeutronFixture(self))
self.useFixture(func_fixtures.PlacementFixture()) self.useFixture(func_fixtures.PlacementFixture())
fake_image.stub_out_image_service(self)
self.addCleanup(fake_image.FakeImageService_reset)
# Start controller services. # Start controller services.
self.api = self.useFixture(nova_fixtures.OSAPIFixture( self.api = self.useFixture(nova_fixtures.OSAPIFixture(
api_version='v2.1')).admin_api api_version='v2.1')).admin_api

View File

@ -15,7 +15,6 @@ from nova import test
from nova.tests import fixtures as nova_fixtures from nova.tests import fixtures as nova_fixtures
from nova.tests.functional import fixtures as func_fixtures from nova.tests.functional import fixtures as func_fixtures
from nova.tests.functional import integrated_helpers from nova.tests.functional import integrated_helpers
from nova.tests.unit.image import fake as image_fake
from nova.tests.unit import policy_fixture from nova.tests.unit import policy_fixture
@ -40,6 +39,7 @@ class AntiAffinityMultiCreateRequest(test.TestCase,
def setUp(self): def setUp(self):
super(AntiAffinityMultiCreateRequest, self).setUp() super(AntiAffinityMultiCreateRequest, self).setUp()
self.useFixture(policy_fixture.RealPolicyFixture()) self.useFixture(policy_fixture.RealPolicyFixture())
self.glance = self.useFixture(nova_fixtures.GlanceFixture(self))
self.useFixture(nova_fixtures.NeutronFixture(self)) self.useFixture(nova_fixtures.NeutronFixture(self))
self.useFixture(func_fixtures.PlacementFixture()) self.useFixture(func_fixtures.PlacementFixture())
@ -50,9 +50,6 @@ class AntiAffinityMultiCreateRequest(test.TestCase,
self.admin_api = api_fixture.admin_api self.admin_api = api_fixture.admin_api
self.api = api_fixture.api self.api = api_fixture.api
image_fake.stub_out_image_service(self)
self.addCleanup(image_fake.FakeImageService_reset)
self.start_service('conductor') self.start_service('conductor')
# Use the latest microversion available to make sure something does # Use the latest microversion available to make sure something does
@ -102,9 +99,7 @@ class AntiAffinityMultiCreateRequest(test.TestCase,
'_get_alternate_hosts', stub_get_alternate_hosts) '_get_alternate_hosts', stub_get_alternate_hosts)
# Now create two servers in that group. # Now create two servers in that group.
server_req = self._build_server( server_req = self._build_server(networks='none')
image_uuid=image_fake.AUTO_DISK_CONFIG_ENABLED_IMAGE_UUID,
networks='none')
server_req['min_count'] = 2 server_req['min_count'] = 2
self.api.api_post( self.api.api_post(
'/servers', {'server': server_req, '/servers', {'server': server_req,

View File

@ -15,7 +15,6 @@ from nova.tests import fixtures as nova_fixtures
from nova.tests.functional import fixtures as func_fixtures from nova.tests.functional import fixtures as func_fixtures
from nova.tests.functional import integrated_helpers from nova.tests.functional import integrated_helpers
from nova.tests.unit import fake_network from nova.tests.unit import fake_network
import nova.tests.unit.image.fake
from nova.tests.unit import policy_fixture from nova.tests.unit import policy_fixture
@ -32,10 +31,10 @@ class TestRescheduleWithVolumesAttached(
super(TestRescheduleWithVolumesAttached, self).setUp() super(TestRescheduleWithVolumesAttached, self).setUp()
# Use the new attach flow fixture for cinder # Use the new attach flow fixture for cinder
cinder_fixture = nova_fixtures.CinderFixture(self) self.cinder = self.useFixture(nova_fixtures.CinderFixture(self))
self.cinder = self.useFixture(cinder_fixture)
self.useFixture(policy_fixture.RealPolicyFixture()) self.useFixture(policy_fixture.RealPolicyFixture())
self.useFixture(nova_fixtures.NeutronFixture(self)) self.useFixture(nova_fixtures.NeutronFixture(self))
self.useFixture(nova_fixtures.GlanceFixture(self))
fake_network.set_stub_network_methods(self) fake_network.set_stub_network_methods(self)
@ -45,9 +44,6 @@ class TestRescheduleWithVolumesAttached(
api_version='v2.1')) api_version='v2.1'))
self.api = api_fixture.admin_api self.api = api_fixture.admin_api
nova.tests.unit.image.fake.stub_out_image_service(self)
self.addCleanup(nova.tests.unit.image.fake.FakeImageService_reset)
self.flags(compute_driver='fake.FakeRescheduleDriver') self.flags(compute_driver='fake.FakeRescheduleDriver')
self.start_service('conductor') self.start_service('conductor')

View File

@ -14,7 +14,6 @@ from nova import test
from nova.tests import fixtures as nova_fixtures from nova.tests import fixtures as nova_fixtures
from nova.tests.functional import fixtures as func_fixtures from nova.tests.functional import fixtures as func_fixtures
from nova.tests.functional import integrated_helpers from nova.tests.functional import integrated_helpers
from nova.tests.unit.image import fake as image_fake
from nova.tests.unit import policy_fixture from nova.tests.unit import policy_fixture
@ -40,6 +39,7 @@ class ColdMigrateTargetHostThenLiveMigrateTest(
super(ColdMigrateTargetHostThenLiveMigrateTest, self).setUp() super(ColdMigrateTargetHostThenLiveMigrateTest, self).setUp()
self.useFixture(policy_fixture.RealPolicyFixture()) self.useFixture(policy_fixture.RealPolicyFixture())
self.useFixture(nova_fixtures.NeutronFixture(self)) self.useFixture(nova_fixtures.NeutronFixture(self))
self.glance = self.useFixture(nova_fixtures.GlanceFixture(self))
self.useFixture(func_fixtures.PlacementFixture()) self.useFixture(func_fixtures.PlacementFixture())
api_fixture = self.useFixture(nova_fixtures.OSAPIFixture( api_fixture = self.useFixture(nova_fixtures.OSAPIFixture(
@ -53,9 +53,6 @@ class ColdMigrateTargetHostThenLiveMigrateTest(
self.admin_api.microversion = 'latest' self.admin_api.microversion = 'latest'
self.api.microversion = 'latest' self.api.microversion = 'latest'
image_fake.stub_out_image_service(self)
self.addCleanup(image_fake.FakeImageService_reset)
self.start_service('conductor') self.start_service('conductor')
self.start_service('scheduler') self.start_service('scheduler')
@ -64,9 +61,7 @@ class ColdMigrateTargetHostThenLiveMigrateTest(
def test_cold_migrate_target_host_then_live_migrate(self): def test_cold_migrate_target_host_then_live_migrate(self):
# Create a server, it doesn't matter on which host it builds. # Create a server, it doesn't matter on which host it builds.
server = self._build_server( server = self._build_server(networks='none')
image_uuid=image_fake.AUTO_DISK_CONFIG_ENABLED_IMAGE_UUID,
networks='none')
server = self.api.post_server({'server': server}) server = self.api.post_server({'server': server})
server = self._wait_for_state_change(server, 'ACTIVE') server = self._wait_for_state_change(server, 'ACTIVE')
original_host = server['OS-EXT-SRV-ATTR:host'] original_host = server['OS-EXT-SRV-ATTR:host']

View File

@ -14,7 +14,6 @@ from nova import test
from nova.tests import fixtures as nova_fixtures from nova.tests import fixtures as nova_fixtures
from nova.tests.functional import integrated_helpers from nova.tests.functional import integrated_helpers
from nova.tests.unit import fake_notifier from nova.tests.unit import fake_notifier
import nova.tests.unit.image.fake
class ShowErrorServerWithTags(test.TestCase, class ShowErrorServerWithTags(test.TestCase,
@ -33,14 +32,11 @@ class ShowErrorServerWithTags(test.TestCase,
self.api = api_fixture.admin_api self.api = api_fixture.admin_api
self.useFixture(nova_fixtures.NeutronFixture(self)) self.useFixture(nova_fixtures.NeutronFixture(self))
self.useFixture(nova_fixtures.GlanceFixture(self))
self.start_service('conductor') self.start_service('conductor')
self.start_service('scheduler') self.start_service('scheduler')
# the image fake backend needed for image discovery
nova.tests.unit.image.fake.stub_out_image_service(self)
self.addCleanup(nova.tests.unit.image.fake.FakeImageService_reset)
self.image_id = self.api.get_images()[0]['id'] self.image_id = self.api.get_images()[0]['id']
self.api.microversion = 'latest' self.api.microversion = 'latest'

View File

@ -19,7 +19,6 @@ from nova import test
from nova.tests import fixtures as nova_fixtures from nova.tests import fixtures as nova_fixtures
from nova.tests.functional import fixtures as func_fixtures from nova.tests.functional import fixtures as func_fixtures
from nova.tests.functional import integrated_helpers from nova.tests.functional import integrated_helpers
from nova.tests.unit.image import fake as image_fake
from nova.tests.unit import policy_fixture from nova.tests.unit import policy_fixture
@ -49,6 +48,7 @@ class NonPersistentFieldNotResetTest(
super(NonPersistentFieldNotResetTest, self).setUp() super(NonPersistentFieldNotResetTest, self).setUp()
self.useFixture(policy_fixture.RealPolicyFixture()) self.useFixture(policy_fixture.RealPolicyFixture())
self.useFixture(nova_fixtures.NeutronFixture(self)) self.useFixture(nova_fixtures.NeutronFixture(self))
self.useFixture(nova_fixtures.GlanceFixture(self))
self.useFixture(func_fixtures.PlacementFixture()) self.useFixture(func_fixtures.PlacementFixture())
api_fixture = self.useFixture(nova_fixtures.OSAPIFixture( api_fixture = self.useFixture(nova_fixtures.OSAPIFixture(
@ -58,9 +58,6 @@ class NonPersistentFieldNotResetTest(
# not regress in new microversions; cap as necessary. # not regress in new microversions; cap as necessary.
self.api.microversion = 'latest' self.api.microversion = 'latest'
image_fake.stub_out_image_service(self)
self.addCleanup(image_fake.FakeImageService_reset)
self.start_service('conductor') self.start_service('conductor')
self.start_service('scheduler') self.start_service('scheduler')

View File

@ -14,7 +14,6 @@ from nova import test
from nova.tests import fixtures as nova_fixtures from nova.tests import fixtures as nova_fixtures
from nova.tests.functional import fixtures as func_fixtures from nova.tests.functional import fixtures as func_fixtures
from nova.tests.functional import integrated_helpers from nova.tests.functional import integrated_helpers
from nova.tests.unit.image import fake as fake_image
class VolumeBackedResizeDiskDown(test.TestCase, class VolumeBackedResizeDiskDown(test.TestCase,
@ -36,10 +35,9 @@ class VolumeBackedResizeDiskDown(test.TestCase,
self.api = api_fixture.admin_api self.api = api_fixture.admin_api
self.useFixture(nova_fixtures.NeutronFixture(self)) self.useFixture(nova_fixtures.NeutronFixture(self))
self.useFixture(nova_fixtures.GlanceFixture(self))
self.useFixture(nova_fixtures.CinderFixture(self)) self.useFixture(nova_fixtures.CinderFixture(self))
self.useFixture(func_fixtures.PlacementFixture()) self.useFixture(func_fixtures.PlacementFixture())
fake_image.stub_out_image_service(self)
self.addCleanup(fake_image.FakeImageService_reset)
self.start_service('conductor') self.start_service('conductor')
self.start_service('scheduler') self.start_service('scheduler')

View File

@ -17,7 +17,6 @@ from nova import test
from nova.tests import fixtures as nova_fixtures from nova.tests import fixtures as nova_fixtures
from nova.tests.functional import fixtures as func_fixtures from nova.tests.functional import fixtures as func_fixtures
from nova.tests.functional import integrated_helpers from nova.tests.functional import integrated_helpers
from nova.tests.unit.image import fake as fake_image
class FillVirtualInterfaceListMigration( class FillVirtualInterfaceListMigration(
@ -38,13 +37,11 @@ class FillVirtualInterfaceListMigration(
api_version='v2.1')) api_version='v2.1'))
self.api = api_fixture.admin_api self.api = api_fixture.admin_api
self.useFixture(nova_fixtures.NeutronFixture(self)) self.useFixture(nova_fixtures.NeutronFixture(self))
self.useFixture(nova_fixtures.GlanceFixture(self))
self.useFixture(func_fixtures.PlacementFixture()) self.useFixture(func_fixtures.PlacementFixture())
self.start_service('conductor') self.start_service('conductor')
self.start_service('scheduler') self.start_service('scheduler')
self.start_service('compute') self.start_service('compute')
# the image fake backend needed for image discovery
fake_image.stub_out_image_service(self)
self.addCleanup(fake_image.FakeImageService_reset)
def test_fill_vifs_migration(self): def test_fill_vifs_migration(self):
# Create a test server. # Create a test server.

View File

@ -19,7 +19,6 @@ from nova import test
from nova.tests import fixtures as nova_fixtures from nova.tests import fixtures as nova_fixtures
from nova.tests.functional import fixtures as func_fixtures from nova.tests.functional import fixtures as func_fixtures
from nova.tests.functional import integrated_helpers from nova.tests.functional import integrated_helpers
from nova.tests.unit.image import fake as fake_image
class MissingReqSpecInstanceGroupUUIDTestCase( class MissingReqSpecInstanceGroupUUIDTestCase(
@ -51,9 +50,8 @@ class MissingReqSpecInstanceGroupUUIDTestCase(
super(MissingReqSpecInstanceGroupUUIDTestCase, self).setUp() super(MissingReqSpecInstanceGroupUUIDTestCase, self).setUp()
# Stub out external dependencies. # Stub out external dependencies.
self.useFixture(nova_fixtures.NeutronFixture(self)) self.useFixture(nova_fixtures.NeutronFixture(self))
self.useFixture(nova_fixtures.GlanceFixture(self))
self.useFixture(func_fixtures.PlacementFixture()) self.useFixture(func_fixtures.PlacementFixture())
fake_image.stub_out_image_service(self)
self.addCleanup(fake_image.FakeImageService_reset)
# Configure the API to allow resizing to the same host so we can keep # Configure the API to allow resizing to the same host so we can keep
# the number of computes down to two in the test. # the number of computes down to two in the test.
self.flags(allow_resize_to_same_host=True) self.flags(allow_resize_to_same_host=True)

View File

@ -15,7 +15,6 @@ from nova.tests import fixtures as nova_fixtures
from nova.tests.functional import fixtures as func_fixtures from nova.tests.functional import fixtures as func_fixtures
from nova.tests.functional import integrated_helpers from nova.tests.functional import integrated_helpers
from nova.tests.unit import fake_notifier from nova.tests.unit import fake_notifier
from nova.tests.unit.image import fake as fake_image
from nova.tests.unit import policy_fixture from nova.tests.unit import policy_fixture
@ -27,16 +26,16 @@ class RegressionTest1835822(
super(RegressionTest1835822, self).setUp() super(RegressionTest1835822, self).setUp()
# Use the standard fixtures. # Use the standard fixtures.
self.useFixture(policy_fixture.RealPolicyFixture()) self.useFixture(policy_fixture.RealPolicyFixture())
self.useFixture(nova_fixtures.GlanceFixture(self))
self.useFixture(nova_fixtures.NeutronFixture(self)) self.useFixture(nova_fixtures.NeutronFixture(self))
self.useFixture(func_fixtures.PlacementFixture()) self.useFixture(func_fixtures.PlacementFixture())
self.api = self.useFixture(nova_fixtures.OSAPIFixture( self.api = self.useFixture(nova_fixtures.OSAPIFixture(
api_version='v2.1')).api api_version='v2.1')).api
self.start_service('conductor') self.start_service('conductor')
self.start_service('scheduler') self.start_service('scheduler')
self.start_service('compute') self.start_service('compute')
# the image fake backend needed for image discovery
fake_image.stub_out_image_service(self)
self.addCleanup(fake_image.FakeImageService_reset)
images = self.api.get_images() images = self.api.get_images()
self.image_ref_0 = images[0]['id'] self.image_ref_0 = images[0]['id']
self.image_ref_1 = images[1]['id'] self.image_ref_1 = images[1]['id']

View File

@ -16,7 +16,6 @@ from nova import context
from nova import objects from nova import objects
from nova.tests.functional import integrated_helpers from nova.tests.functional import integrated_helpers
from nova.tests.unit import fake_notifier from nova.tests.unit import fake_notifier
from nova.tests.unit.image import fake as fake_image
class RebuildWithKeypairTestCase(integrated_helpers._IntegratedTestBase): class RebuildWithKeypairTestCase(integrated_helpers._IntegratedTestBase):
@ -55,7 +54,7 @@ class RebuildWithKeypairTestCase(integrated_helpers._IntegratedTestBase):
# Rebuild a server with keypair 'test-key2' # Rebuild a server with keypair 'test-key2'
body = { body = {
'rebuild': { 'rebuild': {
'imageRef': fake_image.get_valid_image_id(), 'imageRef': self.glance.auto_disk_config_enabled_image['id'],
'key_name': 'test-key2', 'key_name': 'test-key2',
}, },
} }

View File

@ -14,7 +14,6 @@ from nova import test
from nova.tests import fixtures as nova_fixtures from nova.tests import fixtures as nova_fixtures
from nova.tests.functional import fixtures as func_fixtures from nova.tests.functional import fixtures as func_fixtures
from nova.tests.functional import integrated_helpers from nova.tests.functional import integrated_helpers
from nova.tests.unit.image import fake as fake_image
class ListDeletedServersWithMarker(test.TestCase, class ListDeletedServersWithMarker(test.TestCase,
@ -30,8 +29,8 @@ class ListDeletedServersWithMarker(test.TestCase,
# Start standard fixtures. # Start standard fixtures.
self.useFixture(func_fixtures.PlacementFixture()) self.useFixture(func_fixtures.PlacementFixture())
self.useFixture(nova_fixtures.NeutronFixture(self)) self.useFixture(nova_fixtures.NeutronFixture(self))
fake_image.stub_out_image_service(self) self.useFixture(nova_fixtures.GlanceFixture(self))
self.addCleanup(fake_image.FakeImageService_reset)
# Start nova services. # Start nova services.
self.api = self.useFixture(nova_fixtures.OSAPIFixture( self.api = self.useFixture(nova_fixtures.OSAPIFixture(
api_version='v2.1')).admin_api api_version='v2.1')).admin_api

View File

@ -15,7 +15,6 @@ from nova import test
from nova.tests import fixtures as nova_fixtures from nova.tests import fixtures as nova_fixtures
from nova.tests.functional import fixtures as func_fixtures from nova.tests.functional import fixtures as func_fixtures
from nova.tests.functional import integrated_helpers from nova.tests.functional import integrated_helpers
from nova.tests.unit.image import fake as fake_image
from nova.tests.unit import policy_fixture from nova.tests.unit import policy_fixture
from nova import utils from nova import utils
@ -29,10 +28,9 @@ class TestInstanceActionBuryInCell0(test.TestCase,
def setUp(self): def setUp(self):
super(TestInstanceActionBuryInCell0, self).setUp() super(TestInstanceActionBuryInCell0, self).setUp()
# Setup common fixtures. # Setup common fixtures.
fake_image.stub_out_image_service(self)
self.addCleanup(fake_image.FakeImageService_reset)
self.useFixture(func_fixtures.PlacementFixture()) self.useFixture(func_fixtures.PlacementFixture())
self.useFixture(nova_fixtures.NeutronFixture(self)) self.useFixture(nova_fixtures.NeutronFixture(self))
self.useFixture(nova_fixtures.GlanceFixture(self))
policy = self.useFixture(policy_fixture.RealPolicyFixture()) policy = self.useFixture(policy_fixture.RealPolicyFixture())
# Allow non-admins to see instance action events. # Allow non-admins to see instance action events.
policy.set_rules({ policy.set_rules({

View File

@ -17,7 +17,6 @@ from nova.tests import fixtures as nova_fixtures
from nova.tests.functional import fixtures as func_fixtures from nova.tests.functional import fixtures as func_fixtures
from nova.tests.functional import integrated_helpers from nova.tests.functional import integrated_helpers
from nova.tests.unit import fake_notifier from nova.tests.unit import fake_notifier
from nova.tests.unit.image import fake as fake_image
class UnshelveNeutronErrorTest( class UnshelveNeutronErrorTest(
@ -30,8 +29,7 @@ class UnshelveNeutronErrorTest(
self.placement = placement.api self.placement = placement.api
self.neutron = nova_fixtures.NeutronFixture(self) self.neutron = nova_fixtures.NeutronFixture(self)
self.useFixture(self.neutron) self.useFixture(self.neutron)
fake_image.stub_out_image_service(self) self.useFixture(nova_fixtures.GlanceFixture(self))
self.addCleanup(fake_image.FakeImageService_reset)
# Start nova services. # Start nova services.
self.api = self.useFixture(nova_fixtures.OSAPIFixture( self.api = self.useFixture(nova_fixtures.OSAPIFixture(
api_version='v2.1')).admin_api api_version='v2.1')).admin_api

View File

@ -15,7 +15,6 @@ from nova.tests import fixtures as nova_fixtures
from nova.tests.functional.api import client as api_client from nova.tests.functional.api import client as api_client
from nova.tests.functional import fixtures as func_fixtures from nova.tests.functional import fixtures as func_fixtures
from nova.tests.functional import integrated_helpers from nova.tests.functional import integrated_helpers
from nova.tests.unit.image import fake as fake_image
from nova.tests.unit import policy_fixture from nova.tests.unit import policy_fixture
@ -45,6 +44,7 @@ class TestServersPerUserQuota(test.TestCase,
self.useFixture(policy_fixture.RealPolicyFixture()) self.useFixture(policy_fixture.RealPolicyFixture())
self.useFixture(nova_fixtures.NeutronFixture(self)) self.useFixture(nova_fixtures.NeutronFixture(self))
self.useFixture(func_fixtures.PlacementFixture()) self.useFixture(func_fixtures.PlacementFixture())
self.glance = self.useFixture(nova_fixtures.GlanceFixture(self))
api_fixture = self.useFixture(nova_fixtures.OSAPIFixture( api_fixture = self.useFixture(nova_fixtures.OSAPIFixture(
api_version='v2.1')) api_version='v2.1'))
@ -53,9 +53,6 @@ class TestServersPerUserQuota(test.TestCase,
self.api.microversion = '2.37' # so we can specify networks='none' self.api.microversion = '2.37' # so we can specify networks='none'
self.admin_api.microversion = '2.37' self.admin_api.microversion = '2.37'
fake_image.stub_out_image_service(self)
self.addCleanup(fake_image.FakeImageService_reset)
self.start_service('conductor') self.start_service('conductor')
self.start_service('scheduler') self.start_service('scheduler')
self.start_service('compute') self.start_service('compute')
@ -75,15 +72,11 @@ class TestServersPerUserQuota(test.TestCase,
# Boot one instance into the default project as the admin user. # Boot one instance into the default project as the admin user.
# This results in usage of 1 instance for the project and 1 instance # This results in usage of 1 instance for the project and 1 instance
# for the admin user. # for the admin user.
self._create_server( self._create_server(networks='none', api=self.admin_api)
image_uuid=fake_image.AUTO_DISK_CONFIG_ENABLED_IMAGE_UUID,
networks='none', api=self.admin_api)
# Now try to boot an instance as the non-admin user. # Now try to boot an instance as the non-admin user.
# This should succeed because the non-admin user has 0 instances and # This should succeed because the non-admin user has 0 instances and
# the project limit allows 10 instances. # the project limit allows 10 instances.
server_req = self._build_server( server_req = self._build_server(networks='none')
image_uuid=fake_image.AUTO_DISK_CONFIG_ENABLED_IMAGE_UUID,
networks='none')
server = self.api.post_server({'server': server_req}) server = self.api.post_server({'server': server_req})
self._wait_for_state_change(server, 'ACTIVE') self._wait_for_state_change(server, 'ACTIVE')
# A request to boot a second instance should fail because the # A request to boot a second instance should fail because the

View File

@ -18,7 +18,6 @@ from nova.tests import fixtures as nova_fixtures
from nova.tests.functional.api import client from nova.tests.functional.api import client
from nova.tests.functional import fixtures as func_fixtures from nova.tests.functional import fixtures as func_fixtures
from nova.tests.functional import integrated_helpers from nova.tests.functional import integrated_helpers
import nova.tests.unit.image.fake
from nova.tests.unit import policy_fixture from nova.tests.unit import policy_fixture
from nova.tests.unit import utils as test_utils from nova.tests.unit import utils as test_utils
from nova import utils from nova import utils
@ -476,7 +475,8 @@ class IsolateAggregateFilterTest(AggregateRequestFiltersTest):
self.useFixture(nova_fixtures.HostNameWeigherFixture()) self.useFixture(nova_fixtures.HostNameWeigherFixture())
super(IsolateAggregateFilterTest, self).setUp() super(IsolateAggregateFilterTest, self).setUp()
self.image_service = nova.tests.unit.image.fake.FakeImageService()
self.glance = self.useFixture(nova_fixtures.GlanceFixture(self))
# setting traits to flavors # setting traits to flavors
flavor_body = {'flavor': {'name': 'test_flavor', flavor_body = {'flavor': {'name': 'test_flavor',
'ram': 512, 'ram': 512,
@ -610,10 +610,9 @@ class IsolateAggregateFilterTest(AggregateRequestFiltersTest):
# Creating a new image and setting traits on it. # Creating a new image and setting traits on it.
with nova.utils.temporary_mutation(self.api, microversion='2.35'): with nova.utils.temporary_mutation(self.api, microversion='2.35'):
self.ctxt = test_utils.get_test_admin_context() self.ctxt = test_utils.get_test_admin_context()
img_ref = self.image_service.create(self.ctxt, {'name': 'image10'}) img_ref = self.glance.create(self.ctxt, {'name': 'image10'})
image_id_with_trait = img_ref['id'] image_id_with_trait = img_ref['id']
self.addCleanup( self.addCleanup(self.glance.delete, self.ctxt, image_id_with_trait)
self.image_service.delete, self.ctxt, image_id_with_trait)
self.api.api_put('/images/%s/metadata' % image_id_with_trait, self.api.api_put('/images/%s/metadata' % image_id_with_trait,
{'metadata': { {'metadata': {
'trait:HW_CPU_X86_VMX': 'required'}}) 'trait:HW_CPU_X86_VMX': 'required'}})
@ -640,10 +639,9 @@ class IsolateAggregateFilterTest(AggregateRequestFiltersTest):
# Creating a new image and setting traits on it. # Creating a new image and setting traits on it.
with nova.utils.temporary_mutation(self.api, microversion='2.35'): with nova.utils.temporary_mutation(self.api, microversion='2.35'):
self.ctxt = test_utils.get_test_admin_context() self.ctxt = test_utils.get_test_admin_context()
img_ref = self.image_service.create(self.ctxt, {'name': 'image10'}) img_ref = self.glance.create(self.ctxt, {'name': 'image10'})
image_id_with_trait = img_ref['id'] image_id_with_trait = img_ref['id']
self.addCleanup( self.addCleanup(self.glance.delete, self.ctxt, image_id_with_trait)
self.image_service.delete, self.ctxt, image_id_with_trait)
self.api.api_put('/images/%s/metadata' % image_id_with_trait, self.api.api_put('/images/%s/metadata' % image_id_with_trait,
{'metadata': { {'metadata': {
'trait:HW_CPU_X86_VMX': 'required'}}) 'trait:HW_CPU_X86_VMX': 'required'}})
@ -674,10 +672,9 @@ class IsolateAggregateFilterTest(AggregateRequestFiltersTest):
# Creating a new image and setting traits on it. # Creating a new image and setting traits on it.
with nova.utils.temporary_mutation(self.api, microversion='2.35'): with nova.utils.temporary_mutation(self.api, microversion='2.35'):
self.ctxt = test_utils.get_test_admin_context() self.ctxt = test_utils.get_test_admin_context()
img_ref = self.image_service.create(self.ctxt, {'name': 'image10'}) img_ref = self.glance.create(self.ctxt, {'name': 'image10'})
image_id_with_trait = img_ref['id'] image_id_with_trait = img_ref['id']
self.addCleanup( self.addCleanup(self.glance.delete, self.ctxt, image_id_with_trait)
self.image_service.delete, self.ctxt, image_id_with_trait)
self.api.api_put('/images/%s/metadata' % image_id_with_trait, self.api.api_put('/images/%s/metadata' % image_id_with_trait,
{'metadata': { {'metadata': {
'trait:HW_CPU_X86_VMX': 'required'}}) 'trait:HW_CPU_X86_VMX': 'required'}})
@ -832,10 +829,10 @@ class TestAggregateMultiTenancyIsolationFilter(
def setUp(self): def setUp(self):
super(TestAggregateMultiTenancyIsolationFilter, self).setUp() super(TestAggregateMultiTenancyIsolationFilter, self).setUp()
# Stub out glance, placement and neutron. # Stub out glance, placement and neutron.
nova.tests.unit.image.fake.stub_out_image_service(self) self.useFixture(nova_fixtures.GlanceFixture(self))
self.addCleanup(nova.tests.unit.image.fake.FakeImageService_reset)
self.useFixture(func_fixtures.PlacementFixture()) self.useFixture(func_fixtures.PlacementFixture())
self.useFixture(nova_fixtures.NeutronFixture(self)) self.useFixture(nova_fixtures.NeutronFixture(self))
# Start nova services. # Start nova services.
self.start_service('conductor') self.start_service('conductor')
self.admin_api = self.useFixture( self.admin_api = self.useFixture(
@ -937,6 +934,7 @@ class AggregateMultiTenancyIsolationColdMigrateTest(
def setUp(self): def setUp(self):
super(AggregateMultiTenancyIsolationColdMigrateTest, self).setUp() super(AggregateMultiTenancyIsolationColdMigrateTest, self).setUp()
self.useFixture(policy_fixture.RealPolicyFixture()) self.useFixture(policy_fixture.RealPolicyFixture())
self.glance = self.useFixture(nova_fixtures.GlanceFixture(self))
self.useFixture(nova_fixtures.NeutronFixture(self)) self.useFixture(nova_fixtures.NeutronFixture(self))
self.useFixture(func_fixtures.PlacementFixture()) self.useFixture(func_fixtures.PlacementFixture())
# Intentionally keep these separate since we want to create the # Intentionally keep these separate since we want to create the
@ -950,10 +948,6 @@ class AggregateMultiTenancyIsolationColdMigrateTest(
self.api = user_api_fixture.api self.api = user_api_fixture.api
self.api.microversion = 'latest' self.api.microversion = 'latest'
# the image fake backend needed for image discovery
nova.tests.unit.image.fake.stub_out_image_service(self)
self.addCleanup(nova.tests.unit.image.fake.FakeImageService_reset)
self.start_service('conductor') self.start_service('conductor')
# Enable the AggregateMultiTenancyIsolation filter before starting the # Enable the AggregateMultiTenancyIsolation filter before starting the
# scheduler service. # scheduler service.
@ -1003,10 +997,7 @@ class AggregateMultiTenancyIsolationColdMigrateTest(
the server and asserts the server goes to the other host in the the server and asserts the server goes to the other host in the
isolated host aggregate via the AggregateMultiTenancyIsolation filter. isolated host aggregate via the AggregateMultiTenancyIsolation filter.
""" """
img = nova.tests.unit.image.fake.AUTO_DISK_CONFIG_ENABLED_IMAGE_UUID server_req_body = self._build_server(networks='none')
server_req_body = self._build_server(
image_uuid=img,
networks='none')
server = self.api.post_server({'server': server_req_body}) server = self.api.post_server({'server': server_req_body})
server = self._wait_for_state_change(server, 'ACTIVE') server = self._wait_for_state_change(server, 'ACTIVE')
# Ensure the server ended up in host2 or host3 # Ensure the server ended up in host2 or host3

View File

@ -16,7 +16,6 @@ from nova import test
from nova.tests import fixtures as nova_fixtures from nova.tests import fixtures as nova_fixtures
from nova.tests.functional import fixtures as func_fixtures from nova.tests.functional import fixtures as func_fixtures
from nova.tests.functional import integrated_helpers from nova.tests.functional import integrated_helpers
from nova.tests.unit.image import fake as fake_image
from nova.tests.unit import policy_fixture from nova.tests.unit import policy_fixture
@ -27,6 +26,7 @@ class TestAvailabilityZoneScheduling(
super(TestAvailabilityZoneScheduling, self).setUp() super(TestAvailabilityZoneScheduling, self).setUp()
self.useFixture(policy_fixture.RealPolicyFixture()) self.useFixture(policy_fixture.RealPolicyFixture())
self.useFixture(nova_fixtures.GlanceFixture(self))
self.useFixture(nova_fixtures.NeutronFixture(self)) self.useFixture(nova_fixtures.NeutronFixture(self))
self.useFixture(func_fixtures.PlacementFixture()) self.useFixture(func_fixtures.PlacementFixture())
@ -36,9 +36,6 @@ class TestAvailabilityZoneScheduling(
self.api = api_fixture.admin_api self.api = api_fixture.admin_api
self.api.microversion = 'latest' self.api.microversion = 'latest'
fake_image.stub_out_image_service(self)
self.addCleanup(fake_image.FakeImageService_reset)
self.start_service('conductor') self.start_service('conductor')
self.start_service('scheduler') self.start_service('scheduler')

View File

@ -20,7 +20,6 @@ from nova.tests import fixtures as nova_fixtures
from nova.tests.functional.api import client as api_client from nova.tests.functional.api import client as api_client
from nova.tests.functional import fixtures as func_fixtures from nova.tests.functional import fixtures as func_fixtures
from nova.tests.functional import integrated_helpers from nova.tests.functional import integrated_helpers
from nova.tests.unit.image import fake as fake_image
from nova.tests.unit import policy_fixture from nova.tests.unit import policy_fixture
@ -171,10 +170,9 @@ class BootFromVolumeLargeRequestTest(test.TestCase,
super(BootFromVolumeLargeRequestTest, self).setUp() super(BootFromVolumeLargeRequestTest, self).setUp()
self.useFixture(policy_fixture.RealPolicyFixture()) self.useFixture(policy_fixture.RealPolicyFixture())
self.useFixture(nova_fixtures.NeutronFixture(self)) self.useFixture(nova_fixtures.NeutronFixture(self))
self.glance = self.useFixture(nova_fixtures.GlanceFixture(self))
self.useFixture(nova_fixtures.CinderFixture(self)) self.useFixture(nova_fixtures.CinderFixture(self))
self.useFixture(func_fixtures.PlacementFixture()) self.useFixture(func_fixtures.PlacementFixture())
self.image_service = fake_image.stub_out_image_service(self)
self.addCleanup(fake_image.FakeImageService_reset)
self.api = self.useFixture(nova_fixtures.OSAPIFixture( self.api = self.useFixture(nova_fixtures.OSAPIFixture(
api_version='v2.1')).admin_api api_version='v2.1')).admin_api
@ -216,7 +214,7 @@ class BootFromVolumeLargeRequestTest(test.TestCase,
# Wrap the image service get method to check how many times it was # Wrap the image service get method to check how many times it was
# called. # called.
with mock.patch('nova.image.glance.API.get', with mock.patch('nova.image.glance.API.get',
wraps=self.image_service.show) as mock_image_get: wraps=self.glance.show) as mock_image_get:
self.api.post_server({'server': server}) self.api.post_server({'server': server})
# Assert that there was caching of the GET /v2/images/{image_id} # Assert that there was caching of the GET /v2/images/{image_id}
# calls. The expected total in this case is 3: one for validating # calls. The expected total in this case is 3: one for validating

View File

@ -17,7 +17,6 @@ from nova.tests import fixtures as nova_fixtures
from nova.tests.functional.api import client as api_client from nova.tests.functional.api import client as api_client
from nova.tests.functional import fixtures as func_fixtures from nova.tests.functional import fixtures as func_fixtures
from nova.tests.functional import integrated_helpers from nova.tests.functional import integrated_helpers
from nova.tests.unit.image import fake as fake_image
from nova.tests.unit import policy_fixture from nova.tests.unit import policy_fixture
@ -34,10 +33,9 @@ class CrossAZAttachTestCase(test.TestCase,
# Use the standard fixtures. # Use the standard fixtures.
self.useFixture(policy_fixture.RealPolicyFixture()) self.useFixture(policy_fixture.RealPolicyFixture())
self.useFixture(nova_fixtures.CinderFixture(self, az=self.az)) self.useFixture(nova_fixtures.CinderFixture(self, az=self.az))
self.useFixture(nova_fixtures.GlanceFixture(self))
self.useFixture(nova_fixtures.NeutronFixture(self)) self.useFixture(nova_fixtures.NeutronFixture(self))
self.useFixture(func_fixtures.PlacementFixture()) self.useFixture(func_fixtures.PlacementFixture())
fake_image.stub_out_image_service(self)
self.addCleanup(fake_image.FakeImageService_reset)
# Start nova controller services. # Start nova controller services.
self.api = self.useFixture(nova_fixtures.OSAPIFixture( self.api = self.useFixture(nova_fixtures.OSAPIFixture(
api_version='v2.1')).admin_api api_version='v2.1')).admin_api

View File

@ -177,8 +177,8 @@ class TestMultiCellMigrate(integrated_helpers.ProviderUsageBaseTestCase):
return server return server
def stub_image_create(self): def stub_image_create(self):
"""Stubs the _FakeImageService.create method to track created images""" """Stubs the GlanceFixture.create method to track created images"""
original_create = self.image_service.create original_create = self.glance.create
def image_create_snooper(*args, **kwargs): def image_create_snooper(*args, **kwargs):
image = original_create(*args, **kwargs) image = original_create(*args, **kwargs)
@ -186,7 +186,7 @@ class TestMultiCellMigrate(integrated_helpers.ProviderUsageBaseTestCase):
return image return image
_p = mock.patch.object( _p = mock.patch.object(
self.image_service, 'create', side_effect=image_create_snooper) self.glance, 'create', side_effect=image_create_snooper)
_p.start() _p.start()
self.addCleanup(_p.stop) self.addCleanup(_p.stop)

View File

@ -18,7 +18,6 @@ from nova import test
from nova.tests import fixtures as nova_fixtures from nova.tests import fixtures as nova_fixtures
from nova.tests.functional import fixtures as func_fixtures from nova.tests.functional import fixtures as func_fixtures
from nova.tests.functional import integrated_helpers from nova.tests.functional import integrated_helpers
from nova.tests.unit.image import fake as fake_image
from nova.tests.unit import policy_fixture from nova.tests.unit import policy_fixture
@ -32,8 +31,7 @@ class TestNeutronExternalNetworks(test.TestCase,
# Use the standard fixtures. # Use the standard fixtures.
self.useFixture(policy_fixture.RealPolicyFixture()) self.useFixture(policy_fixture.RealPolicyFixture())
self.useFixture(func_fixtures.PlacementFixture()) self.useFixture(func_fixtures.PlacementFixture())
fake_image.stub_out_image_service(self) self.useFixture(nova_fixtures.GlanceFixture(self))
self.addCleanup(fake_image.FakeImageService_reset)
neutron = self.useFixture(nova_fixtures.NeutronFixture(self)) neutron = self.useFixture(nova_fixtures.NeutronFixture(self))
self._setup_external_network(neutron) self._setup_external_network(neutron)
# Start nova controller services. # Start nova controller services.

View File

@ -22,7 +22,6 @@ from nova.tests import fixtures as nova_fixtures
from nova.tests.functional.api import client from nova.tests.functional.api import client
from nova.tests.functional import fixtures as func_fixtures from nova.tests.functional import fixtures as func_fixtures
from nova.tests.functional import integrated_helpers from nova.tests.functional import integrated_helpers
from nova.tests.unit.image import fake as fake_image
from nova.tests.unit import policy_fixture from nova.tests.unit import policy_fixture
@ -73,8 +72,7 @@ class InstanceActionEventFaultsTestCase(
def setUp(self): def setUp(self):
super(InstanceActionEventFaultsTestCase, self).setUp() super(InstanceActionEventFaultsTestCase, self).setUp()
# Setup the standard fixtures. # Setup the standard fixtures.
fake_image.stub_out_image_service(self) self.useFixture(nova_fixtures.GlanceFixture(self))
self.addCleanup(fake_image.FakeImageService_reset)
self.useFixture(nova_fixtures.NeutronFixture(self)) self.useFixture(nova_fixtures.NeutronFixture(self))
self.useFixture(func_fixtures.PlacementFixture()) self.useFixture(func_fixtures.PlacementFixture())
self.useFixture(policy_fixture.RealPolicyFixture()) self.useFixture(policy_fixture.RealPolicyFixture())

View File

@ -14,13 +14,10 @@
import time import time
import nova.scheduler.utils
import nova.servicegroup
from nova import test from nova import test
from nova.tests import fixtures as nova_fixtures from nova.tests import fixtures as nova_fixtures
from nova.tests.functional import fixtures as func_fixtures from nova.tests.functional import fixtures as func_fixtures
from nova.tests.unit import cast_as_call from nova.tests.unit import cast_as_call
import nova.tests.unit.image.fake
from nova.tests.unit import policy_fixture from nova.tests.unit import policy_fixture
@ -29,17 +26,14 @@ class TestListServersIpFilter(test.TestCase):
def setUp(self): def setUp(self):
super(TestListServersIpFilter, self).setUp() super(TestListServersIpFilter, self).setUp()
self.useFixture(policy_fixture.RealPolicyFixture()) self.useFixture(policy_fixture.RealPolicyFixture())
self.neutron = self.useFixture( self.useFixture(nova_fixtures.GlanceFixture(self))
nova_fixtures.NeutronFixture(self)) self.neutron = self.useFixture(nova_fixtures.NeutronFixture(self))
# Add a 2nd port to the neutron fixture to have multiple ports # Add a 2nd port to the neutron fixture to have multiple ports
self.neutron.create_port({'port': self.neutron.port_2}) self.neutron.create_port({'port': self.neutron.port_2})
api_fixture = self.useFixture(nova_fixtures.OSAPIFixture( api_fixture = self.useFixture(nova_fixtures.OSAPIFixture(
api_version='v2.1')) api_version='v2.1'))
self.api = api_fixture.api self.api = api_fixture.api
# the image fake backend needed for image discovery
nova.tests.unit.image.fake.stub_out_image_service(self)
self.useFixture(func_fixtures.PlacementFixture()) self.useFixture(func_fixtures.PlacementFixture())
self.start_service('conductor') self.start_service('conductor')

View File

@ -24,7 +24,6 @@ from nova import test
from nova.tests import fixtures as nova_fixtures from nova.tests import fixtures as nova_fixtures
from nova.tests.functional import fixtures as func_fixtures from nova.tests.functional import fixtures as func_fixtures
from nova.tests.functional import integrated_helpers from nova.tests.functional import integrated_helpers
from nova.tests.unit.image import fake as fake_image
class fake_result(object): class fake_result(object):
@ -50,8 +49,7 @@ class MetadataTest(test.TestCase, integrated_helpers.InstanceHelperMixin):
def setUp(self): def setUp(self):
super(MetadataTest, self).setUp() super(MetadataTest, self).setUp()
fake_image.stub_out_image_service(self) self.useFixture(nova_fixtures.GlanceFixture(self))
self.addCleanup(fake_image.FakeImageService_reset)
self.useFixture(nova_fixtures.NeutronFixture(self)) self.useFixture(nova_fixtures.NeutronFixture(self))
self.useFixture(func_fixtures.PlacementFixture()) self.useFixture(func_fixtures.PlacementFixture())
self.start_service('conductor') self.start_service('conductor')

View File

@ -29,7 +29,6 @@ from nova.tests import fixtures as nova_fixtures
from nova.tests.functional import fixtures as func_fixtures from nova.tests.functional import fixtures as func_fixtures
from nova.tests.functional import integrated_helpers from nova.tests.functional import integrated_helpers
from nova.tests.functional import test_servers from nova.tests.functional import test_servers
from nova.tests.unit.image import fake as image_fake
CONF = config.CONF CONF = config.CONF
INCOMPLETE_CONSUMER_ID = '00000000-0000-0000-0000-000000000000' INCOMPLETE_CONSUMER_ID = '00000000-0000-0000-0000-000000000000'
@ -1814,6 +1813,7 @@ class TestDBArchiveDeletedRowsMultiCell(integrated_helpers.InstanceHelperMixin,
def setUp(self): def setUp(self):
super(TestDBArchiveDeletedRowsMultiCell, self).setUp() super(TestDBArchiveDeletedRowsMultiCell, self).setUp()
self.useFixture(nova_fixtures.NeutronFixture(self)) self.useFixture(nova_fixtures.NeutronFixture(self))
self.useFixture(nova_fixtures.GlanceFixture(self))
self.useFixture(func_fixtures.PlacementFixture()) self.useFixture(func_fixtures.PlacementFixture())
api_fixture = self.useFixture(nova_fixtures.OSAPIFixture( api_fixture = self.useFixture(nova_fixtures.OSAPIFixture(
@ -1821,9 +1821,6 @@ class TestDBArchiveDeletedRowsMultiCell(integrated_helpers.InstanceHelperMixin,
# We need the admin api to forced_host for server create # We need the admin api to forced_host for server create
self.api = api_fixture.admin_api self.api = api_fixture.admin_api
image_fake.stub_out_image_service(self)
self.addCleanup(image_fake.FakeImageService_reset)
self.start_service('conductor') self.start_service('conductor')
self.start_service('scheduler') self.start_service('scheduler')

View File

@ -19,7 +19,6 @@ from nova import test
from nova.tests import fixtures as nova_fixtures from nova.tests import fixtures as nova_fixtures
from nova.tests.functional import fixtures as func_fixtures from nova.tests.functional import fixtures as func_fixtures
from nova.tests.functional import integrated_helpers from nova.tests.functional import integrated_helpers
from nova.tests.unit.image import fake as fake_image
from nova.tests.unit import policy_fixture from nova.tests.unit import policy_fixture
from nova import utils from nova import utils
@ -35,8 +34,7 @@ class HostStatusPolicyTestCase(test.TestCase,
def setUp(self): def setUp(self):
super(HostStatusPolicyTestCase, self).setUp() super(HostStatusPolicyTestCase, self).setUp()
# Setup the standard fixtures. # Setup the standard fixtures.
fake_image.stub_out_image_service(self) self.useFixture(nova_fixtures.GlanceFixture(self))
self.addCleanup(fake_image.FakeImageService_reset)
self.useFixture(nova_fixtures.NeutronFixture(self)) self.useFixture(nova_fixtures.NeutronFixture(self))
self.useFixture(func_fixtures.PlacementFixture()) self.useFixture(func_fixtures.PlacementFixture())
self.useFixture(policy_fixture.RealPolicyFixture()) self.useFixture(policy_fixture.RealPolicyFixture())

View File

@ -16,7 +16,6 @@ from nova.tests import fixtures as nova_fixtures
from nova.tests.functional import fixtures as func_fixtures from nova.tests.functional import fixtures as func_fixtures
from nova.tests.functional import integrated_helpers from nova.tests.functional import integrated_helpers
from nova.tests.unit import fake_network from nova.tests.unit import fake_network
import nova.tests.unit.image.fake as fake_image
from nova.tests.unit import policy_fixture from nova.tests.unit import policy_fixture
CELL1_NAME = 'cell1' CELL1_NAME = 'cell1'
@ -32,6 +31,7 @@ class MultiCellSchedulerTestCase(test.TestCase,
super(MultiCellSchedulerTestCase, self).setUp() super(MultiCellSchedulerTestCase, self).setUp()
self.useFixture(policy_fixture.RealPolicyFixture()) self.useFixture(policy_fixture.RealPolicyFixture())
self.useFixture(nova_fixtures.NeutronFixture(self)) self.useFixture(nova_fixtures.NeutronFixture(self))
self.useFixture(nova_fixtures.GlanceFixture(self))
self.useFixture(nova_fixtures.AllServicesCurrent()) self.useFixture(nova_fixtures.AllServicesCurrent())
self.useFixture(func_fixtures.PlacementFixture()) self.useFixture(func_fixtures.PlacementFixture())
api_fixture = self.useFixture(nova_fixtures.OSAPIFixture( api_fixture = self.useFixture(nova_fixtures.OSAPIFixture(
@ -46,8 +46,6 @@ class MultiCellSchedulerTestCase(test.TestCase,
group='filter_scheduler') group='filter_scheduler')
self.start_service('conductor') self.start_service('conductor')
self.start_service('scheduler') self.start_service('scheduler')
fake_image.stub_out_image_service(self)
self.addCleanup(fake_image.FakeImageService_reset)
def _test_create_and_migrate(self, expected_status, az=None): def _test_create_and_migrate(self, expected_status, az=None):
server = self._create_server(az=az) server = self._create_server(az=az)

View File

@ -16,7 +16,6 @@ from nova import test
from nova.tests import fixtures as nova_fixtures from nova.tests import fixtures as nova_fixtures
from nova.tests.functional import fixtures as func_fixtures from nova.tests.functional import fixtures as func_fixtures
from nova.tests.functional import integrated_helpers from nova.tests.functional import integrated_helpers
from nova.tests.unit.image import fake as fake_image
from nova.tests.unit import policy_fixture from nova.tests.unit import policy_fixture
@ -31,11 +30,9 @@ class ServerFaultTestCase(test.TestCase,
def setUp(self): def setUp(self):
super(ServerFaultTestCase, self).setUp() super(ServerFaultTestCase, self).setUp()
# Setup the standard fixtures.
fake_image.stub_out_image_service(self)
self.addCleanup(fake_image.FakeImageService_reset)
self.useFixture(nova_fixtures.NeutronFixture(self)) self.useFixture(nova_fixtures.NeutronFixture(self))
self.useFixture(func_fixtures.PlacementFixture()) self.useFixture(func_fixtures.PlacementFixture())
self.useFixture(nova_fixtures.GlanceFixture(self))
self.useFixture(policy_fixture.RealPolicyFixture()) self.useFixture(policy_fixture.RealPolicyFixture())
# Start the compute services. # Start the compute services.

View File

@ -30,10 +30,6 @@ from nova.tests.unit import policy_fixture
from nova import utils from nova import utils
from nova.virt import fake from nova.virt import fake
import nova.scheduler.utils
import nova.servicegroup
import nova.tests.unit.image.fake
# An alternate project id # An alternate project id
PROJECT_ID_ALT = "616c6c796f7572626173656172656f73" PROJECT_ID_ALT = "616c6c796f7572626173656172656f73"
@ -67,6 +63,7 @@ class ServerGroupTestBase(test.TestCase,
group='filter_scheduler') group='filter_scheduler')
self.useFixture(policy_fixture.RealPolicyFixture()) self.useFixture(policy_fixture.RealPolicyFixture())
self.useFixture(nova_fixtures.GlanceFixture(self))
self.useFixture(nova_fixtures.NeutronFixture(self)) self.useFixture(nova_fixtures.NeutronFixture(self))
self.useFixture(func_fixtures.PlacementFixture()) self.useFixture(func_fixtures.PlacementFixture())
@ -78,14 +75,9 @@ class ServerGroupTestBase(test.TestCase,
self.admin_api = api_fixture.admin_api self.admin_api = api_fixture.admin_api
self.admin_api.microversion = self.microversion self.admin_api.microversion = self.microversion
# the image fake backend needed for image discovery
nova.tests.unit.image.fake.stub_out_image_service(self)
self.start_service('conductor') self.start_service('conductor')
self.start_service('scheduler') self.start_service('scheduler')
self.addCleanup(nova.tests.unit.image.fake.FakeImageService_reset)
def _boot_a_server_to_group(self, group, def _boot_a_server_to_group(self, group,
expected_status='ACTIVE', flavor=None, expected_status='ACTIVE', flavor=None,
az=None): az=None):
@ -975,15 +967,15 @@ class TestAntiAffinityLiveMigration(test.TestCase,
# Setup common fixtures. # Setup common fixtures.
self.useFixture(policy_fixture.RealPolicyFixture()) self.useFixture(policy_fixture.RealPolicyFixture())
self.useFixture(nova_fixtures.NeutronFixture(self)) self.useFixture(nova_fixtures.NeutronFixture(self))
self.useFixture(nova_fixtures.GlanceFixture(self))
self.useFixture(func_fixtures.PlacementFixture()) self.useFixture(func_fixtures.PlacementFixture())
# Setup API. # Setup API.
api_fixture = self.useFixture(nova_fixtures.OSAPIFixture( api_fixture = self.useFixture(nova_fixtures.OSAPIFixture(
api_version='v2.1')) api_version='v2.1'))
self.api = api_fixture.api self.api = api_fixture.api
self.admin_api = api_fixture.admin_api self.admin_api = api_fixture.admin_api
# Fake out glance.
nova.tests.unit.image.fake.stub_out_image_service(self)
self.addCleanup(nova.tests.unit.image.fake.FakeImageService_reset)
# Start conductor, scheduler and two computes. # Start conductor, scheduler and two computes.
self.start_service('conductor') self.start_service('conductor')
self.start_service('scheduler') self.start_service('scheduler')

View File

@ -49,7 +49,6 @@ from nova.tests.unit.api.openstack import fakes
from nova.tests.unit import fake_block_device from nova.tests.unit import fake_block_device
from nova.tests.unit import fake_notifier from nova.tests.unit import fake_notifier
from nova.tests.unit import fake_requests from nova.tests.unit import fake_requests
from nova.tests.unit.image import fake as fake_image
from nova.tests.unit.objects import test_instance_info_cache from nova.tests.unit.objects import test_instance_info_cache
from nova import utils as nova_utils from nova import utils as nova_utils
from nova.virt import fake from nova.virt import fake
@ -1343,7 +1342,7 @@ class ServerRebuildTestCase(integrated_helpers._IntegratedTestBase):
# Now update the image metadata to be something that won't work with # Now update the image metadata to be something that won't work with
# the fake compute driver we're using since the fake driver has an # the fake compute driver we're using since the fake driver has an
# "x86_64" architecture. # "x86_64" architecture.
rebuild_image_ref = fake_image.AUTO_DISK_CONFIG_ENABLED_IMAGE_UUID rebuild_image_ref = self.glance.auto_disk_config_enabled_image['id']
self.api.put_image_meta_key( self.api.put_image_meta_key(
rebuild_image_ref, 'hw_architecture', 'unicore32') rebuild_image_ref, 'hw_architecture', 'unicore32')
# Now rebuild the server with that updated image and it should result # Now rebuild the server with that updated image and it should result
@ -1456,7 +1455,7 @@ class ServerRebuildTestCase(integrated_helpers._IntegratedTestBase):
allocs = allocs[rp_uuid]['resources'] allocs = allocs[rp_uuid]['resources']
assertFlavorMatchesAllocation(flavor, allocs) assertFlavorMatchesAllocation(flavor, allocs)
rebuild_image_ref = fake_image.AUTO_DISK_CONFIG_ENABLED_IMAGE_UUID rebuild_image_ref = self.glance.auto_disk_config_enabled_image['id']
# Now rebuild the server with a different image. # Now rebuild the server with a different image.
rebuild_req_body = { rebuild_req_body = {
'rebuild': { 'rebuild': {
@ -1508,7 +1507,7 @@ class ServerRebuildTestCase(integrated_helpers._IntegratedTestBase):
# Now rebuild the server with a different image than was used to create # Now rebuild the server with a different image than was used to create
# our fake volume. # our fake volume.
rebuild_image_ref = fake_image.AUTO_DISK_CONFIG_ENABLED_IMAGE_UUID rebuild_image_ref = self.glance.auto_disk_config_enabled_image['id']
rebuild_req_body = { rebuild_req_body = {
'rebuild': { 'rebuild': {
'imageRef': rebuild_image_ref 'imageRef': rebuild_image_ref
@ -8190,7 +8189,7 @@ class AcceleratorServerOpsTest(AcceleratorServerBase):
self.assertEqual(evac_hostname, arqs_new[0]['hostname']) self.assertEqual(evac_hostname, arqs_new[0]['hostname'])
def test_rebuild_ok(self): def test_rebuild_ok(self):
rebuild_image_ref = fake_image.AUTO_DISK_CONFIG_ENABLED_IMAGE_UUID rebuild_image_ref = self.glance.auto_disk_config_enabled_image['id']
self.api.post_server_action(self.server['id'], self.api.post_server_action(self.server['id'],
{'rebuild': { {'rebuild': {
'imageRef': rebuild_image_ref, 'imageRef': rebuild_image_ref,
@ -8248,7 +8247,8 @@ class AcceleratorServerOpsTest(AcceleratorServerBase):
rebuild so OpenStackApiException is raised. rebuild so OpenStackApiException is raised.
""" """
old_compute_version.return_value = 52 old_compute_version.return_value = 52
rebuild_image_ref = fake_image.AUTO_DISK_CONFIG_ENABLED_IMAGE_UUID rebuild_image_ref = self.glance.auto_disk_config_enabled_image['id']
ex = self.assertRaises(client.OpenStackApiException, ex = self.assertRaises(client.OpenStackApiException,
self.api.post_server_action, self.server['id'], self.api.post_server_action, self.server['id'],
{'rebuild': { {'rebuild': {

View File

@ -15,7 +15,6 @@ from nova import test
from nova.tests import fixtures as nova_fixtures from nova.tests import fixtures as nova_fixtures
from nova.tests.functional import fixtures as func_fixtures from nova.tests.functional import fixtures as func_fixtures
from nova.tests.functional import integrated_helpers from nova.tests.functional import integrated_helpers
from nova.tests.unit.image import fake as fake_image
from nova.tests.unit import policy_fixture from nova.tests.unit import policy_fixture
@ -29,9 +28,9 @@ class ServiceTestCase(test.TestCase,
# Use the standard fixtures. # Use the standard fixtures.
self.useFixture(policy_fixture.RealPolicyFixture()) self.useFixture(policy_fixture.RealPolicyFixture())
self.useFixture(nova_fixtures.NeutronFixture(self)) self.useFixture(nova_fixtures.NeutronFixture(self))
self.useFixture(nova_fixtures.GlanceFixture(self))
self.useFixture(func_fixtures.PlacementFixture()) self.useFixture(func_fixtures.PlacementFixture())
fake_image.stub_out_image_service(self)
self.addCleanup(fake_image.FakeImageService_reset)
# Start nova controller services. # Start nova controller services.
self.api = self.useFixture(nova_fixtures.OSAPIFixture( self.api = self.useFixture(nova_fixtures.OSAPIFixture(
api_version='v2.1')).api api_version='v2.1')).api

View File

@ -17,7 +17,6 @@ import testscenarios
from nova import test from nova import test
from nova.tests import fixtures as nova_fixtures from nova.tests import fixtures as nova_fixtures
import nova.tests.unit.image.fake
from nova.tests.unit import policy_fixture from nova.tests.unit import policy_fixture
LOG = logging.getLogger(__name__) LOG = logging.getLogger(__name__)
@ -46,13 +45,11 @@ class SecgroupsFullstack(testscenarios.WithScenarios, test.TestCase):
def setUp(self): def setUp(self):
super(SecgroupsFullstack, self).setUp() super(SecgroupsFullstack, self).setUp()
self.useFixture(policy_fixture.RealPolicyFixture()) self.useFixture(policy_fixture.RealPolicyFixture())
self.useFixture(nova_fixtures.GlanceFixture(self))
api_fixture = self.useFixture(nova_fixtures.OSAPIFixture()) api_fixture = self.useFixture(nova_fixtures.OSAPIFixture())
self.api = api_fixture.api self.api = api_fixture.api
# the image fake backend needed for image discovery
nova.tests.unit.image.fake.stub_out_image_service(self)
# TODO(sdague): refactor this method into the API client, we're # TODO(sdague): refactor this method into the API client, we're
# going to use it a lot # going to use it a lot
def _build_minimal_create_server_request(self, name): def _build_minimal_create_server_request(self, name):

View File

@ -19,7 +19,6 @@ from nova.tests import fixtures as nova_fixtures
from nova.tests.functional.api import client as api_client from nova.tests.functional.api import client as api_client
from nova.tests.functional import fixtures as func_fixtures from nova.tests.functional import fixtures as func_fixtures
from nova.tests.functional import integrated_helpers from nova.tests.functional import integrated_helpers
from nova.tests.unit.image import fake as fake_image
from nova.tests.unit import policy_fixture from nova.tests.unit import policy_fixture
@ -43,9 +42,9 @@ class ServersPreSchedulingTestCase(test.TestCase,
def setUp(self): def setUp(self):
super(ServersPreSchedulingTestCase, self).setUp() super(ServersPreSchedulingTestCase, self).setUp()
fake_image.stub_out_image_service(self)
self.useFixture(policy_fixture.RealPolicyFixture()) self.useFixture(policy_fixture.RealPolicyFixture())
self.useFixture(nova_fixtures.NoopConductorFixture()) self.useFixture(nova_fixtures.NoopConductorFixture())
self.glance = self.useFixture(nova_fixtures.GlanceFixture(self))
self.useFixture(nova_fixtures.NeutronFixture(self)) self.useFixture(nova_fixtures.NeutronFixture(self))
self.useFixture(func_fixtures.PlacementFixture()) self.useFixture(func_fixtures.PlacementFixture())
api_fixture = self.useFixture(nova_fixtures.OSAPIFixture( api_fixture = self.useFixture(nova_fixtures.OSAPIFixture(
@ -58,7 +57,7 @@ class ServersPreSchedulingTestCase(test.TestCase,
def test_instance_from_buildrequest(self): def test_instance_from_buildrequest(self):
self.useFixture(nova_fixtures.AllServicesCurrent()) self.useFixture(nova_fixtures.AllServicesCurrent())
image_ref = fake_image.get_valid_image_id() image_ref = self.glance.auto_disk_config_enabled_image['id']
body = { body = {
'server': { 'server': {
'name': 'foo', 'name': 'foo',
@ -89,7 +88,7 @@ class ServersPreSchedulingTestCase(test.TestCase,
self.assertEqual('BUILD', server['status']) self.assertEqual('BUILD', server['status'])
def test_instance_from_buildrequest_old_service(self): def test_instance_from_buildrequest_old_service(self):
image_ref = fake_image.get_valid_image_id() image_ref = self.glance.auto_disk_config_enabled_image['id']
body = { body = {
'server': { 'server': {
'name': 'foo', 'name': 'foo',
@ -120,7 +119,7 @@ class ServersPreSchedulingTestCase(test.TestCase,
def test_delete_instance_from_buildrequest(self): def test_delete_instance_from_buildrequest(self):
self.useFixture(nova_fixtures.AllServicesCurrent()) self.useFixture(nova_fixtures.AllServicesCurrent())
image_ref = fake_image.get_valid_image_id() image_ref = self.glance.auto_disk_config_enabled_image['id']
body = { body = {
'server': { 'server': {
'name': 'foo', 'name': 'foo',
@ -137,7 +136,7 @@ class ServersPreSchedulingTestCase(test.TestCase,
self.assertEqual(404, get_resp.status) self.assertEqual(404, get_resp.status)
def test_delete_instance_from_buildrequest_old_service(self): def test_delete_instance_from_buildrequest_old_service(self):
image_ref = fake_image.get_valid_image_id() image_ref = self.glance.auto_disk_config_enabled_image['id']
body = { body = {
'server': { 'server': {
'name': 'foo', 'name': 'foo',
@ -154,7 +153,7 @@ class ServersPreSchedulingTestCase(test.TestCase,
self.assertEqual(404, get_resp.status) self.assertEqual(404, get_resp.status)
def _test_instance_list_from_buildrequests(self): def _test_instance_list_from_buildrequests(self):
image_ref = fake_image.get_valid_image_id() image_ref = self.glance.auto_disk_config_enabled_image['id']
body = { body = {
'server': { 'server': {
'name': 'foo', 'name': 'foo',
@ -198,7 +197,7 @@ class ServersPreSchedulingTestCase(test.TestCase,
used to test the various tags filters working in the BuildRequestList. used to test the various tags filters working in the BuildRequestList.
""" """
self.useFixture(nova_fixtures.AllServicesCurrent()) self.useFixture(nova_fixtures.AllServicesCurrent())
image_ref = fake_image.get_valid_image_id() image_ref = self.glance.auto_disk_config_enabled_image['id']
body = { body = {
'server': { 'server': {
'name': 'foo', 'name': 'foo',
@ -297,7 +296,7 @@ class ServersPreSchedulingTestCase(test.TestCase,
body = { body = {
'server': { 'server': {
'name': 'test_instance_list_build_request_marker_ip_filter', 'name': 'test_instance_list_build_request_marker_ip_filter',
'imageRef': fake_image.get_valid_image_id(), 'imageRef': self.glance.auto_disk_config_enabled_image['id'],
'flavorRef': '1', 'flavorRef': '1',
'networks': 'none' 'networks': 'none'
} }
@ -324,8 +323,7 @@ class EnforceVolumeBackedForZeroDiskFlavorTestCase(
def setUp(self): def setUp(self):
super(EnforceVolumeBackedForZeroDiskFlavorTestCase, self).setUp() super(EnforceVolumeBackedForZeroDiskFlavorTestCase, self).setUp()
fake_image.stub_out_image_service(self) self.glance = self.useFixture(nova_fixtures.GlanceFixture(self))
self.addCleanup(fake_image.FakeImageService_reset)
self.useFixture(nova_fixtures.NeutronFixture(self)) self.useFixture(nova_fixtures.NeutronFixture(self))
self.policy_fixture = ( self.policy_fixture = (
self.useFixture(policy_fixture.RealPolicyFixture())) self.useFixture(policy_fixture.RealPolicyFixture()))
@ -354,7 +352,7 @@ class EnforceVolumeBackedForZeroDiskFlavorTestCase(
servers_policies.ZERO_DISK_FLAVOR: base_policies.RULE_ADMIN_API}, servers_policies.ZERO_DISK_FLAVOR: base_policies.RULE_ADMIN_API},
overwrite=False) overwrite=False)
server_req = self._build_server( server_req = self._build_server(
image_uuid=fake_image.AUTO_DISK_CONFIG_ENABLED_IMAGE_UUID, image_uuid=self.glance.auto_disk_config_enabled_image['id'],
flavor_id=self.zero_disk_flavor['id']) flavor_id=self.zero_disk_flavor['id'])
ex = self.assertRaises(api_client.OpenStackApiException, ex = self.assertRaises(api_client.OpenStackApiException,
self.api.post_server, {'server': server_req}) self.api.post_server, {'server': server_req})

View File

@ -15,6 +15,8 @@
# under the License. # under the License.
import copy import copy
import datetime
import io
import fixtures as fx import fixtures as fx
import futurist import futurist
@ -564,3 +566,101 @@ class TestNeutronFixture(test.NoDBTestCase):
port_id = self.neutron.port_with_resource_request['id'] port_id = self.neutron.port_with_resource_request['id']
ports = [port for port in ports if port_id == port['id']] ports = [port for port in ports if port_id == port['id']]
self.assertIsNotNone(ports[0]['resource_request']) self.assertIsNotNone(ports[0]['resource_request'])
class TestGlanceFixture(test.NoDBTestCase):
def setUp(self):
super().setUp()
self.image_service = self.useFixture(fixtures.GlanceFixture(self))
self.context = context.get_admin_context()
def test_detail(self):
res = self.image_service.detail(self.context)
for image in res:
self.assertEqual(
set(image.keys()),
{
'id', 'name', 'created_at', 'updated_at', 'deleted_at',
'deleted', 'status', 'is_public', 'properties',
'disk_format', 'container_format', 'size', 'min_disk',
'min_ram', 'protected', 'tags', 'visibility',
},
)
self.assertIsInstance(image['created_at'], datetime.datetime)
self.assertIsInstance(image['updated_at'], datetime.datetime)
if not (
isinstance(image['deleted_at'], datetime.datetime) or
image['deleted_at'] is None
):
self.fail(
"image's 'deleted_at' attribute was neither a datetime "
"object nor None"
)
def check_is_bool(image, key):
val = image.get('deleted')
if not isinstance(val, bool):
self.fail(
"image's '%s' attribute wasn't a bool: %r" % (key, val)
)
check_is_bool(image, 'deleted')
check_is_bool(image, 'is_public')
def test_show_raises_imagenotfound_for_invalid_id(self):
self.assertRaises(
exception.ImageNotFound,
self.image_service.show,
self.context, 'this image does not exist')
def test_create_adds_id(self):
index = self.image_service.detail(self.context)
image_count = len(index)
self.image_service.create(self.context, {})
index = self.image_service.detail(self.context)
self.assertEqual(len(index), image_count + 1)
self.assertTrue(index[0]['id'])
def test_create_keeps_id(self):
self.image_service.create(self.context, {'id': '34'})
self.image_service.show(self.context, '34')
def test_create_rejects_duplicate_ids(self):
self.image_service.create(self.context, {'id': '34'})
self.assertRaises(
exception.CouldNotUploadImage,
self.image_service.create,
self.context, {'id': '34'})
# Make sure there's still one left
self.image_service.show(self.context, '34')
def test_update(self):
self.image_service.create(
self.context, {'id': '34', 'foo': 'bar'})
self.image_service.update(
self.context, '34', {'id': '34', 'foo': 'baz'})
img = self.image_service.show(self.context, '34')
self.assertEqual(img['foo'], 'baz')
def test_delete(self):
self.image_service.create(self.context, {'id': '34', 'foo': 'bar'})
self.image_service.delete(self.context, '34')
self.assertRaises(
exception.NotFound,
self.image_service.show,
self.context, '34')
def test_create_then_get(self):
blob = 'some data'
s1 = io.StringIO(blob)
self.image_service.create(
self.context, {'id': '32', 'foo': 'bar'}, data=s1)
s2 = io.StringIO()
self.image_service.download(self.context, '32', data=s2)
self.assertEqual(s2.getvalue(), blob, 'Did not get blob back intact')