[py35] Fixes to get rally scenarios working
Get nova.boot_server, nova.attach_volume, nova.detach_volume and nova.delete_server working. Please see the following cinder review for the experiment (see gate-rally-dsvm-py35-cinder-nv): Id78b136ad15ac77717711ebcbb671c2f1dd3a10c nova/api/openstack/placement/handlers: * make sure we convert to bytes before we set the response.body nova/tests/functional/db/api/test_migrations.py: * range is an iterator and must be converted to a list nova/tests/unit/virt/libvirt/test_driver.py: nova/tests/unit/virt/libvirt/test_fakelibvirt.py: nova/virt/libvirt/config.py: nova/virt/libvirt/guest.py: nova/virt/libvirt/host.py: * libvirt API expects strings, some of the code paths ended up being bytes, so convert them to strings before calling libvirt Finally, eliminated the tests that now started to pass from tests-functional-py3.txt Change-Id: Ib721442e9d83a3b9a7fe597f3886430449a9e684
This commit is contained in:
parent
3ec43d81c3
commit
584969aff1
@ -12,6 +12,7 @@
|
||||
"""Aggregate handlers for Placement API."""
|
||||
|
||||
from oslo_serialization import jsonutils
|
||||
from oslo_utils import encodeutils
|
||||
import webob
|
||||
|
||||
from nova.api.openstack.placement import microversion
|
||||
@ -31,7 +32,8 @@ PUT_AGGREGATES_SCHEMA = {
|
||||
|
||||
def _send_aggregates(response, aggregate_uuids):
|
||||
response.status = 200
|
||||
response.body = jsonutils.dumps(_serialize_aggregates(aggregate_uuids))
|
||||
response.body = encodeutils.to_utf8(
|
||||
jsonutils.dumps(_serialize_aggregates(aggregate_uuids)))
|
||||
response.content_type = 'application/json'
|
||||
return response
|
||||
|
||||
|
@ -16,6 +16,7 @@ import collections
|
||||
import jsonschema
|
||||
from oslo_log import log as logging
|
||||
from oslo_serialization import jsonutils
|
||||
from oslo_utils import encodeutils
|
||||
import webob
|
||||
|
||||
from nova.api.openstack.placement import util
|
||||
@ -173,7 +174,7 @@ def list_for_consumer(req):
|
||||
_serialize_allocations_for_consumer(allocations))
|
||||
|
||||
req.response.status = 200
|
||||
req.response.body = allocations_json
|
||||
req.response.body = encodeutils.to_utf8(allocations_json)
|
||||
req.response.content_type = 'application/json'
|
||||
return req.response
|
||||
|
||||
@ -209,7 +210,7 @@ def list_for_resource_provider(req):
|
||||
allocations, resource_provider))
|
||||
|
||||
req.response.status = 200
|
||||
req.response.body = allocations_json
|
||||
req.response.body = encodeutils.to_utf8(allocations_json)
|
||||
req.response.content_type = 'application/json'
|
||||
return req.response
|
||||
|
||||
|
@ -15,6 +15,7 @@ import copy
|
||||
|
||||
from oslo_db import exception as db_exc
|
||||
from oslo_serialization import jsonutils
|
||||
from oslo_utils import encodeutils
|
||||
import webob
|
||||
|
||||
from nova.api.openstack.placement import util
|
||||
@ -157,8 +158,8 @@ def _make_inventory_object(resource_provider, resource_class, **data):
|
||||
def _send_inventories(response, resource_provider, inventories):
|
||||
"""Send a JSON representation of a list of inventories."""
|
||||
response.status = 200
|
||||
response.body = jsonutils.dumps(_serialize_inventories(
|
||||
inventories, resource_provider.generation))
|
||||
response.body = encodeutils.to_utf8(jsonutils.dumps(
|
||||
_serialize_inventories(inventories, resource_provider.generation)))
|
||||
response.content_type = 'application/json'
|
||||
return response
|
||||
|
||||
@ -166,8 +167,8 @@ def _send_inventories(response, resource_provider, inventories):
|
||||
def _send_inventory(response, resource_provider, inventory, status=200):
|
||||
"""Send a JSON representation of one single inventory."""
|
||||
response.status = status
|
||||
response.body = jsonutils.dumps(_serialize_inventory(
|
||||
inventory, generation=resource_provider.generation))
|
||||
response.body = encodeutils.to_utf8(jsonutils.dumps(_serialize_inventory(
|
||||
inventory, generation=resource_provider.generation)))
|
||||
response.content_type = 'application/json'
|
||||
return response
|
||||
|
||||
|
@ -14,6 +14,7 @@
|
||||
import copy
|
||||
|
||||
from oslo_serialization import jsonutils
|
||||
from oslo_utils import encodeutils
|
||||
import webob
|
||||
|
||||
from nova.api.openstack.placement import microversion
|
||||
@ -131,8 +132,8 @@ def get_resource_class(req):
|
||||
# The containing application will catch a not found here.
|
||||
rc = objects.ResourceClass.get_by_name(context, name)
|
||||
|
||||
req.response.body = jsonutils.dumps(
|
||||
_serialize_resource_class(req.environ, rc)
|
||||
req.response.body = encodeutils.to_utf8(jsonutils.dumps(
|
||||
_serialize_resource_class(req.environ, rc))
|
||||
)
|
||||
req.response.content_type = 'application/json'
|
||||
return req.response
|
||||
@ -151,8 +152,8 @@ def list_resource_classes(req):
|
||||
rcs = objects.ResourceClassList.get_all(context)
|
||||
|
||||
response = req.response
|
||||
response.body = jsonutils.dumps(
|
||||
_serialize_resource_classes(req.environ, rcs)
|
||||
response.body = encodeutils.to_utf8(jsonutils.dumps(
|
||||
_serialize_resource_classes(req.environ, rcs))
|
||||
)
|
||||
response.content_type = 'application/json'
|
||||
return response
|
||||
@ -190,8 +191,8 @@ def update_resource_class(req):
|
||||
{'rp_name': name},
|
||||
json_formatter=util.json_error_formatter)
|
||||
|
||||
req.response.body = jsonutils.dumps(
|
||||
_serialize_resource_class(req.environ, rc)
|
||||
req.response.body = encodeutils.to_utf8(jsonutils.dumps(
|
||||
_serialize_resource_class(req.environ, rc))
|
||||
)
|
||||
req.response.status = 200
|
||||
req.response.content_type = 'application/json'
|
||||
|
@ -15,6 +15,7 @@ import copy
|
||||
|
||||
from oslo_db import exception as db_exc
|
||||
from oslo_serialization import jsonutils
|
||||
from oslo_utils import encodeutils
|
||||
from oslo_utils import uuidutils
|
||||
import webob
|
||||
|
||||
@ -148,8 +149,8 @@ def get_resource_provider(req):
|
||||
resource_provider = objects.ResourceProvider.get_by_uuid(
|
||||
context, uuid)
|
||||
|
||||
req.response.body = jsonutils.dumps(
|
||||
_serialize_provider(req.environ, resource_provider))
|
||||
req.response.body = encodeutils.to_utf8(jsonutils.dumps(
|
||||
_serialize_provider(req.environ, resource_provider)))
|
||||
req.response.content_type = 'application/json'
|
||||
return req.response
|
||||
|
||||
@ -200,8 +201,8 @@ def list_resource_providers(req):
|
||||
context, filters)
|
||||
|
||||
response = req.response
|
||||
response.body = jsonutils.dumps(_serialize_providers(
|
||||
req.environ, resource_providers))
|
||||
response.body = encodeutils.to_utf8(
|
||||
jsonutils.dumps(_serialize_providers(req.environ, resource_providers)))
|
||||
response.content_type = 'application/json'
|
||||
return response
|
||||
|
||||
@ -238,8 +239,8 @@ def update_resource_provider(req):
|
||||
{'rp_uuid': uuid, 'error': exc},
|
||||
json_formatter=util.json_error_formatter)
|
||||
|
||||
req.response.body = jsonutils.dumps(
|
||||
_serialize_provider(req.environ, resource_provider))
|
||||
req.response.body = encodeutils.to_utf8(jsonutils.dumps(
|
||||
_serialize_provider(req.environ, resource_provider)))
|
||||
req.response.status = 200
|
||||
req.response.content_type = 'application/json'
|
||||
return req.response
|
||||
|
@ -12,6 +12,7 @@
|
||||
"""Handler for the root of the Placement API."""
|
||||
|
||||
from oslo_serialization import jsonutils
|
||||
from oslo_utils import encodeutils
|
||||
import webob
|
||||
|
||||
|
||||
@ -31,6 +32,6 @@ def home(req):
|
||||
'min_version': min_version,
|
||||
}
|
||||
version_json = jsonutils.dumps({'versions': [version_data]})
|
||||
req.response.body = version_json
|
||||
req.response.body = encodeutils.to_utf8(version_json)
|
||||
req.response.content_type = 'application/json'
|
||||
return req.response
|
||||
|
@ -12,6 +12,7 @@
|
||||
"""Placement API handlers for usage information."""
|
||||
|
||||
from oslo_serialization import jsonutils
|
||||
from oslo_utils import encodeutils
|
||||
import webob
|
||||
|
||||
from nova.api.openstack.placement import util
|
||||
@ -58,7 +59,7 @@ def list_usages(req):
|
||||
context, uuid)
|
||||
|
||||
response = req.response
|
||||
response.body = jsonutils.dumps(
|
||||
_serialize_usages(resource_provider, usage))
|
||||
response.body = encodeutils.to_utf8(jsonutils.dumps(
|
||||
_serialize_usages(resource_provider, usage)))
|
||||
req.response.content_type = 'application/json'
|
||||
return req.response
|
||||
|
@ -162,8 +162,8 @@ class NovaAPIMigrationsWalk(test_migrations.WalkVersionsMixin):
|
||||
return self.engine
|
||||
|
||||
def _skippable_migrations(self):
|
||||
mitaka_placeholders = range(8, 13)
|
||||
newton_placeholders = range(21, 26)
|
||||
mitaka_placeholders = list(range(8, 13))
|
||||
newton_placeholders = list(range(21, 26))
|
||||
special_cases = [
|
||||
30, # Enforcement migration, no changes to test
|
||||
]
|
||||
|
@ -6307,7 +6307,7 @@ class LibvirtConnTestCase(test.NoDBTestCase):
|
||||
|
||||
mock_get_domain.assert_called_with(instance)
|
||||
mock_dom.detachDeviceFlags.assert_called_with(
|
||||
b"""<disk type="file" device="disk">
|
||||
"""<disk type="file" device="disk">
|
||||
<source file="/path/to/fake-volume"/>
|
||||
<target bus="virtio" dev="vdc"/>
|
||||
</disk>
|
||||
@ -17147,13 +17147,13 @@ class LibvirtDriverTestCase(test.NoDBTestCase):
|
||||
</domain>
|
||||
"""
|
||||
|
||||
diska_xml = b"""<disk type="file" device="disk">
|
||||
diska_xml = """<disk type="file" device="disk">
|
||||
<source file="disk1_file"/>
|
||||
<target bus="virtio" dev="vda"/>
|
||||
<serial>0e38683e-f0af-418f-a3f1-6b67ea0f919d</serial>
|
||||
</disk>"""
|
||||
|
||||
diskb_xml = b"""<disk type="block" device="disk">
|
||||
diskb_xml = """<disk type="block" device="disk">
|
||||
<source dev="/path/to/dev/1"/>
|
||||
<target bus="virtio" dev="vdb"/>
|
||||
</disk>"""
|
||||
@ -17650,14 +17650,14 @@ class LibvirtVolumeSnapshotTestCase(test.NoDBTestCase):
|
||||
domain.XMLDesc(flags=0).AndReturn(self.dom_xml)
|
||||
|
||||
snap_xml_src = (
|
||||
b'<domainsnapshot>\n'
|
||||
b' <disks>\n'
|
||||
b' <disk name="disk1_file" snapshot="external" type="file">\n'
|
||||
b' <source file="new-file"/>\n'
|
||||
b' </disk>\n'
|
||||
b' <disk name="vdb" snapshot="no"/>\n'
|
||||
b' </disks>\n'
|
||||
b'</domainsnapshot>\n')
|
||||
'<domainsnapshot>\n'
|
||||
' <disks>\n'
|
||||
' <disk name="disk1_file" snapshot="external" type="file">\n'
|
||||
' <source file="new-file"/>\n'
|
||||
' </disk>\n'
|
||||
' <disk name="vdb" snapshot="no"/>\n'
|
||||
' </disks>\n'
|
||||
'</domainsnapshot>\n')
|
||||
|
||||
# Older versions of libvirt may be missing these.
|
||||
fakelibvirt.VIR_DOMAIN_SNAPSHOT_CREATE_REUSE_EXT = 32
|
||||
@ -17720,14 +17720,14 @@ class LibvirtVolumeSnapshotTestCase(test.NoDBTestCase):
|
||||
domain.XMLDesc(flags=0).AndReturn(self.dom_xml)
|
||||
|
||||
snap_xml_src = (
|
||||
b'<domainsnapshot>\n'
|
||||
b' <disks>\n'
|
||||
b' <disk name="disk1_file" snapshot="external" type="file">\n'
|
||||
b' <source file="new-file"/>\n'
|
||||
b' </disk>\n'
|
||||
b' <disk name="vdb" snapshot="no"/>\n'
|
||||
b' </disks>\n'
|
||||
b'</domainsnapshot>\n')
|
||||
'<domainsnapshot>\n'
|
||||
' <disks>\n'
|
||||
' <disk name="disk1_file" snapshot="external" type="file">\n'
|
||||
' <source file="new-file"/>\n'
|
||||
' </disk>\n'
|
||||
' <disk name="vdb" snapshot="no"/>\n'
|
||||
' </disks>\n'
|
||||
'</domainsnapshot>\n')
|
||||
|
||||
# Older versions of libvirt may be missing these.
|
||||
fakelibvirt.VIR_DOMAIN_SNAPSHOT_CREATE_REUSE_EXT = 32
|
||||
|
@ -367,7 +367,7 @@ class FakeLibvirtTests(test.NoDBTestCase):
|
||||
libvirt.VIR_CPU_COMPARE_IDENTICAL)
|
||||
|
||||
def test_numa_topology_generation(self):
|
||||
topology = b"""<topology>
|
||||
topology = """<topology>
|
||||
<cells num="2">
|
||||
<cell id="0">
|
||||
<memory unit="KiB">7870000</memory>
|
||||
|
@ -76,6 +76,8 @@ class LibvirtConfigObject(object):
|
||||
def to_xml(self, pretty_print=True):
|
||||
root = self.format_dom()
|
||||
xml_str = etree.tostring(root, pretty_print=pretty_print)
|
||||
if six.PY3 and isinstance(xml_str, six.binary_type):
|
||||
xml_str = xml_str.decode("utf-8")
|
||||
return xml_str
|
||||
|
||||
|
||||
|
@ -33,6 +33,7 @@ from oslo_service import loopingcall
|
||||
from oslo_utils import encodeutils
|
||||
from oslo_utils import excutils
|
||||
from oslo_utils import importutils
|
||||
import six
|
||||
import time
|
||||
|
||||
from nova.compute import power_state
|
||||
@ -120,6 +121,8 @@ class Guest(object):
|
||||
:returns guest.Guest: Guest ready to be launched
|
||||
"""
|
||||
try:
|
||||
if six.PY3 and isinstance(xml, six.binary_type):
|
||||
xml = xml.decode('utf-8')
|
||||
guest = host.write_instance_config(xml)
|
||||
except Exception:
|
||||
with excutils.save_and_reraise_exception():
|
||||
@ -295,7 +298,11 @@ class Guest(object):
|
||||
"""
|
||||
flags = persistent and libvirt.VIR_DOMAIN_AFFECT_CONFIG or 0
|
||||
flags |= live and libvirt.VIR_DOMAIN_AFFECT_LIVE or 0
|
||||
|
||||
device_xml = conf.to_xml()
|
||||
if six.PY3 and isinstance(device_xml, six.binary_type):
|
||||
device_xml = device_xml.decode('utf-8')
|
||||
|
||||
LOG.debug("attach device xml: %s", device_xml)
|
||||
self._domain.attachDeviceFlags(device_xml, flags=flags)
|
||||
|
||||
@ -412,7 +419,11 @@ class Guest(object):
|
||||
"""
|
||||
flags = persistent and libvirt.VIR_DOMAIN_AFFECT_CONFIG or 0
|
||||
flags |= live and libvirt.VIR_DOMAIN_AFFECT_LIVE or 0
|
||||
|
||||
device_xml = conf.to_xml()
|
||||
if six.PY3 and isinstance(device_xml, six.binary_type):
|
||||
device_xml = device_xml.decode('utf-8')
|
||||
|
||||
LOG.debug("detach device xml: %s", device_xml)
|
||||
self._domain.detachDeviceFlags(device_xml, flags=flags)
|
||||
|
||||
@ -520,7 +531,12 @@ class Guest(object):
|
||||
flags |= reuse_ext and (libvirt.VIR_DOMAIN_SNAPSHOT_CREATE_REUSE_EXT
|
||||
or 0)
|
||||
flags |= quiesce and libvirt.VIR_DOMAIN_SNAPSHOT_CREATE_QUIESCE or 0
|
||||
self._domain.snapshotCreateXML(conf.to_xml(), flags=flags)
|
||||
|
||||
device_xml = conf.to_xml()
|
||||
if six.PY3 and isinstance(device_xml, six.binary_type):
|
||||
device_xml = device_xml.decode('utf-8')
|
||||
|
||||
self._domain.snapshotCreateXML(device_xml, flags=flags)
|
||||
|
||||
def shutdown(self):
|
||||
"""Shutdown guest"""
|
||||
|
@ -641,7 +641,7 @@ class Host(object):
|
||||
and self._caps.host.cpu.model is not None):
|
||||
try:
|
||||
xml_str = self._caps.host.cpu.to_xml()
|
||||
if six.PY3:
|
||||
if six.PY3 and isinstance(xml_str, six.binary_type):
|
||||
xml_str = xml_str.decode('utf-8')
|
||||
features = self.get_connection().baselineCPU(
|
||||
[xml_str],
|
||||
|
@ -1,82 +1,16 @@
|
||||
nova.tests.functional.api.openstack.placement.test_placement_api.aggregate_clear_those_aggregates.test_request
|
||||
nova.tests.functional.api.openstack.placement.test_placement_api.aggregate_get_empty_aggregates.test_request
|
||||
nova.tests.functional.api.openstack.placement.test_placement_api.aggregate_get_empty_aggregates_again.test_request
|
||||
nova.tests.functional.api.openstack.placement.test_placement_api.aggregate_get_those_aggregates.test_request
|
||||
nova.tests.functional.api.openstack.placement.test_placement_api.aggregate_put_some_aggregates.test_request
|
||||
nova.tests.functional.api.openstack.placement.test_placement_api.allocations_add_other_inventory.test_request
|
||||
nova.tests.functional.api.openstack.placement.test_placement_api.allocations_check_allocations_by_consumer_id.test_request
|
||||
nova.tests.functional.api.openstack.placement.test_placement_api.allocations_check_allocations_by_different_consumer_id.test_request
|
||||
nova.tests.functional.api.openstack.placement.test_placement_api.allocations_check_allocations_for_the_resource_provider.test_request
|
||||
nova.tests.functional.api.openstack.placement.test_placement_api.allocations_check_usages.test_request
|
||||
nova.tests.functional.api.openstack.placement.test_placement_api.allocations_check_usages_after_12.test_request
|
||||
nova.tests.functional.api.openstack.placement.test_placement_api.allocations_check_usages_after_another_10.test_request
|
||||
nova.tests.functional.api.openstack.placement.test_placement_api.allocations_get_allocations_is_empty_dict.test_request
|
||||
nova.tests.functional.api.openstack.placement.test_placement_api.allocations_get_those_allocations_for_consumer.test_request
|
||||
nova.tests.functional.api.openstack.placement.test_placement_api.allocations_get_those_allocations_for_resource_provider.test_request
|
||||
nova.tests.functional.api.openstack.placement.test_placement_api.allocations_post_some_inventory.test_request
|
||||
nova.tests.functional.api.openstack.placement.test_placement_api.allocations_set_inventory_on_rp1.test_request
|
||||
nova.tests.functional.api.openstack.placement.test_placement_api.allocations_set_inventory_on_rp2.test_request
|
||||
nova.tests.functional.api.openstack.placement.test_placement_api.basic-http_200_at_home.test_request
|
||||
nova.tests.functional.api.openstack.placement.test_placement_api.basic-http_complex_accept_resource_providers.test_request
|
||||
nova.tests.functional.api.openstack.placement.test_placement_api.basic-http_get_resource_provider_complex_accept_wild_match.test_request
|
||||
nova.tests.functional.api.openstack.placement.test_placement_api.confirm-auth_with_token_200.test_request
|
||||
nova.tests.functional.api.openstack.placement.test_placement_api.inventory_check_both_inventory_classes.test_request
|
||||
nova.tests.functional.api.openstack.placement.test_placement_api.inventory_check_one_inventory_class.test_request
|
||||
nova.tests.functional.api.openstack.placement.test_placement_api.inventory_confirm_inventory_change.test_request
|
||||
nova.tests.functional.api.openstack.placement.test_placement_api.inventory_get_empty_inventories.test_request
|
||||
nova.tests.functional.api.openstack.placement.test_placement_api.inventory_get_list_of_inventories.test_request
|
||||
nova.tests.functional.api.openstack.placement.test_placement_api.inventory_get_now_empty_inventories.test_request
|
||||
nova.tests.functional.api.openstack.placement.test_placement_api.inventory_get_that_inventory.test_request
|
||||
nova.tests.functional.api.openstack.placement.test_placement_api.inventory_list_both_those_inventories.test_request
|
||||
nova.tests.functional.api.openstack.placement.test_placement_api.inventory_modify_inventory_invalid_data.test_request
|
||||
nova.tests.functional.api.openstack.placement.test_placement_api.inventory_modify_inventory_invalid_generation.test_request
|
||||
nova.tests.functional.api.openstack.placement.test_placement_api.inventory_modify_inventory_no_such_resource_class_in_inventory.test_request
|
||||
nova.tests.functional.api.openstack.placement.test_placement_api.inventory_modify_the_inventory.test_request
|
||||
nova.tests.functional.api.openstack.placement.test_placement_api.inventory_post_an_inventory.test_request
|
||||
nova.tests.functional.api.openstack.placement.test_placement_api.inventory_post_new_disk_inventory.test_request
|
||||
nova.tests.functional.api.openstack.placement.test_placement_api.inventory_post_new_ipv4_address_inventory.test_request
|
||||
nova.tests.functional.api.openstack.placement.test_placement_api.inventory_put_all_inventory.test_request
|
||||
nova.tests.functional.api.openstack.placement.test_placement_api.inventory_put_all_inventory_bad_capacity.test_request
|
||||
nova.tests.functional.api.openstack.placement.test_placement_api.inventory_put_all_inventory_unknown_resource_class.test_request
|
||||
nova.tests.functional.api.openstack.placement.test_placement_api.microversion_latest_microversion_is_1.2.test_request
|
||||
nova.tests.functional.api.openstack.placement.test_placement_api.microversion_latest_microversion_is_1.3
|
||||
nova.tests.functional.api.openstack.placement.test_placement_api.microversion_root_has_microversion_header.test_request
|
||||
nova.tests.functional.api.openstack.placement.test_placement_api.microversion_root_has_microversion_info.test_request
|
||||
nova.tests.functional.api.openstack.placement.test_placement_api.resource-classes_confirm_the_correct_post.test_request
|
||||
nova.tests.functional.api.openstack.placement.test_placement_api.resource-classes_get_resource_class_works_with_no_accept.test_request
|
||||
nova.tests.functional.api.openstack.placement.test_placement_api.resource-classes_list_resource_classes_after_addition_of_custom_res_class.test_request
|
||||
nova.tests.functional.api.openstack.placement.test_placement_api.resource-classes_update_custom_resource_class.test_request
|
||||
nova.tests.functional.api.openstack.placement.test_placement_api.resource-classes_what_is_at_resource_classes.test_request
|
||||
nova.tests.functional.api.openstack.placement.test_placement_api.resource-provider-aggregates_associate_an_aggregate_with_rp1
|
||||
nova.tests.functional.api.openstack.placement.test_placement_api.resource-provider-aggregates_associate_an_aggregate_with_rp2
|
||||
nova.tests.functional.api.openstack.placement.test_placement_api.resource-provider-aggregates_associate_another_aggregate_with_rp2
|
||||
nova.tests.functional.api.openstack.placement.test_placement_api.resource-provider-aggregates_clear_aggregates_on_rp1
|
||||
nova.tests.functional.api.openstack.placement.test_placement_api.resource-provider-aggregates_get_by_aggregates_no_result
|
||||
nova.tests.functional.api.openstack.placement.test_placement_api.resource-provider-aggregates_get_by_aggregates_one_result
|
||||
nova.tests.functional.api.openstack.placement.test_placement_api.resource-provider-aggregates_get_by_aggregates_one_result_no_in
|
||||
nova.tests.functional.api.openstack.placement.test_placement_api.resource-provider-aggregates_get_by_aggregates_two_result
|
||||
nova.tests.functional.api.openstack.placement.test_placement_api.resource-provider-aggregates_get_by_both_aggregates_one
|
||||
nova.tests.functional.api.openstack.placement.test_placement_api.resource-provider-aggregates_get_by_both_aggregates_two
|
||||
nova.tests.functional.api.openstack.placement.test_placement_api.resource-provider_check_the_name_from_that_update.test_request
|
||||
nova.tests.functional.api.openstack.placement.test_placement_api.resource-provider_confirm_the_correct_post.test_request
|
||||
nova.tests.functional.api.openstack.placement.test_placement_api.resource-provider_filter_out_all_resource_providers_by_name.test_request
|
||||
nova.tests.functional.api.openstack.placement.test_placement_api.resource-provider_filter_out_all_resource_providers_by_uuid.test_request
|
||||
nova.tests.functional.api.openstack.placement.test_placement_api.resource-provider_get_resource_provider_works_with_no_accept.test_request
|
||||
nova.tests.functional.api.openstack.placement.test_placement_api.resource-provider_list_one_resource_provider_filtering_by_name.test_request
|
||||
nova.tests.functional.api.openstack.placement.test_placement_api.resource-provider_list_one_resource_provider_filtering_by_uuid.test_request
|
||||
nova.tests.functional.api.openstack.placement.test_placement_api.resource-provider_list_one_resource_providers.test_request
|
||||
nova.tests.functional.api.openstack.placement.test_placement_api.resource-provider_try_to_rename_that_provider_to_existing_name.test_request
|
||||
nova.tests.functional.api.openstack.placement.test_placement_api.resource-provider_update_a_provider_poorly.test_request
|
||||
nova.tests.functional.api.openstack.placement.test_placement_api.resource-provider_update_a_resource_provider.test_request
|
||||
nova.tests.functional.api.openstack.placement.test_placement_api.resource-provider_what_is_at_resource_providers.test_request
|
||||
nova.tests.functional.api.openstack.placement.test_placement_api.unicode_get_a_raw_snowman_unicode.test_request
|
||||
nova.tests.functional.api.openstack.placement.test_placement_api.unicode_get_that_resource_provider.test_request
|
||||
nova.tests.functional.api.openstack.placement.test_placement_api.unicode_query_by_name.test_request
|
||||
nova.tests.functional.api.openstack.placement.test_placement_api.usage_check_provider_exists.test_request
|
||||
nova.tests.functional.api.openstack.placement.test_placement_api.usage_get_empty_usages.test_request
|
||||
nova.tests.functional.api.openstack.placement.test_placement_api.with-allocations_confirm_inventories.test_request
|
||||
nova.tests.functional.api.openstack.placement.test_placement_api.with-allocations_get_usages.test_request
|
||||
nova.tests.functional.api.openstack.placement.test_report_client.SchedulerReportClientTests.test_client_report_smoke
|
||||
nova.tests.functional.api_sample_tests.test_admin_actions.AdminActionsSamplesJsonTest.test_post_inject_network_info
|
||||
nova.tests.functional.api_sample_tests.test_admin_actions.AdminActionsSamplesJsonTest.test_post_reset_network
|
||||
nova.tests.functional.api_sample_tests.test_admin_actions.AdminActionsSamplesJsonTest.test_post_reset_state
|
||||
@ -89,8 +23,6 @@ nova.tests.functional.api_sample_tests.test_attach_interfaces.AttachInterfacesSa
|
||||
nova.tests.functional.api_sample_tests.test_attach_interfaces.AttachInterfacesSampleJsonTest.test_show_interfaces
|
||||
nova.tests.functional.api_sample_tests.test_block_device_mapping_boot.BlockDeviceMappingV1BootJsonTest.test_servers_post_with_bdm
|
||||
nova.tests.functional.api_sample_tests.test_block_device_mapping_boot.BlockDeviceMappingV2BootJsonTest.test_servers_post_with_bdm
|
||||
nova.tests.functional.api_sample_tests.test_cloudpipe.CloudPipeSampleTest.test_cloud_pipe_create
|
||||
nova.tests.functional.api_sample_tests.test_cloudpipe.CloudPipeSampleTest.test_cloud_pipe_list
|
||||
nova.tests.functional.api_sample_tests.test_cloudpipe.CloudPipeSampleTest.test_cloud_pipe_update
|
||||
nova.tests.functional.api_sample_tests.test_console_auth_tokens.ConsoleAuthTokensSampleJsonTests.test_get_console_connect_info
|
||||
nova.tests.functional.api_sample_tests.test_console_output.ConsoleOutputSampleJsonTest.test_get_console_output
|
||||
@ -154,9 +86,6 @@ nova.tests.functional.api_sample_tests.test_remote_consoles.ConsolesV28SampleJso
|
||||
nova.tests.functional.api_sample_tests.test_rescue.RescueJsonTest.test_server_rescue
|
||||
nova.tests.functional.api_sample_tests.test_rescue.RescueJsonTest.test_server_rescue_with_image_ref_specified
|
||||
nova.tests.functional.api_sample_tests.test_rescue.RescueJsonTest.test_server_unrescue
|
||||
nova.tests.functional.api_sample_tests.test_security_group_default_rules.SecurityGroupDefaultRulesSampleJsonTest.test_security_group_default_rules_create
|
||||
nova.tests.functional.api_sample_tests.test_security_group_default_rules.SecurityGroupDefaultRulesSampleJsonTest.test_security_group_default_rules_list
|
||||
nova.tests.functional.api_sample_tests.test_security_group_default_rules.SecurityGroupDefaultRulesSampleJsonTest.test_security_group_default_rules_show
|
||||
nova.tests.functional.api_sample_tests.test_security_groups.SecurityGroupsJsonTest.test_security_groups_add
|
||||
nova.tests.functional.api_sample_tests.test_security_groups.SecurityGroupsJsonTest.test_security_groups_list_server
|
||||
nova.tests.functional.api_sample_tests.test_security_groups.SecurityGroupsJsonTest.test_security_groups_remove
|
||||
@ -232,7 +161,9 @@ nova.tests.functional.api_sample_tests.test_shelve.ShelveJsonTest.test_unshelve
|
||||
nova.tests.functional.api_sample_tests.test_simple_tenant_usage.SimpleTenantUsageSampleJsonTest.test_get_tenant_usage_details
|
||||
nova.tests.functional.api_sample_tests.test_simple_tenant_usage.SimpleTenantUsageSampleJsonTest.test_get_tenants_usage
|
||||
nova.tests.functional.api_sample_tests.test_simple_tenant_usage.SimpleTenantUsageSampleJsonTest.test_get_tenants_usage_with_detail
|
||||
nova.tests.functional.api_sample_tests.test_simple_tenant_usage.SimpleTenantUsageV240Test
|
||||
nova.tests.functional.api_sample_tests.test_simple_tenant_usage.SimpleTenantUsageV240Test.test_get_tenant_usage_details
|
||||
nova.tests.functional.api_sample_tests.test_simple_tenant_usage.SimpleTenantUsageV240Test.test_get_tenants_usage
|
||||
nova.tests.functional.api_sample_tests.test_simple_tenant_usage.SimpleTenantUsageV240Test.test_get_tenants_usage_with_detail
|
||||
nova.tests.functional.api_sample_tests.test_suspend_server.SuspendServerSamplesJsonTest.test_post_resume
|
||||
nova.tests.functional.api_sample_tests.test_suspend_server.SuspendServerSamplesJsonTest.test_post_suspend
|
||||
nova.tests.functional.api_sample_tests.test_tenant_networks.TenantNetworksJsonTests.test_delete_network
|
||||
@ -245,12 +176,7 @@ nova.tests.functional.api_sample_tests.test_volumes.VolumeAttachmentsSample.test
|
||||
nova.tests.functional.api_sample_tests.test_volumes.VolumeAttachmentsSample.test_volume_attachment_detail
|
||||
nova.tests.functional.api_sample_tests.test_volumes.VolumeAttachmentsSample.test_volume_attachment_update
|
||||
nova.tests.functional.api_sample_tests.test_volumes.VolumesSampleJsonTest.test_volumes_delete
|
||||
nova.tests.functional.db.api.test_migrations.TestNovaAPIMigrationsWalkMySQL
|
||||
nova.tests.functional.db.api.test_migrations.TestNovaAPIMigrationsWalkPostgreSQL
|
||||
nova.tests.functional.db.api.test_migrations.TestNovaAPIMigrationsWalkSQLite.test_walk_versions
|
||||
nova.tests.functional.db.test_compute_node.ComputeNodeTestCase.test_recreate_rp
|
||||
nova.tests.functional.db.test_instance_group.InstanceGroupObjectTestCase.test_add_members
|
||||
nova.tests.functional.db.test_instance_group.InstanceGroupObjectTestCase.test_save
|
||||
nova.tests.functional.db.test_instance_group.InstanceGroupObjectTestCase.test_add_members_main
|
||||
nova.tests.functional.db.test_resource_provider.ResourceProviderTestCase.test_provider_modify_inventory
|
||||
nova.tests.functional.db.test_resource_provider.ResourceProviderTestCase.test_save_resource_provider
|
||||
nova.tests.functional.db.test_resource_provider.ResourceProviderTestCase.test_set_inventory_over_capacity
|
||||
@ -260,8 +186,8 @@ nova.tests.functional.regressions.test_bug_1554631.TestCinderForbidden.test_forb
|
||||
nova.tests.functional.regressions.test_bug_1554631.TestCinderOverLimit.test_over_limit_snapshots
|
||||
nova.tests.functional.regressions.test_bug_1554631.TestCinderOverLimit.test_over_limit_snapshots_force
|
||||
nova.tests.functional.regressions.test_bug_1554631.TestCinderOverLimit.test_over_limit_volumes
|
||||
nova.tests.functional.test_server_group.ServerGroupTestV21.test_evacuate_with_anti_affinity
|
||||
nova.tests.functional.test_server_group.ServerGroupTestV21.test_evacuate_with_affinity_no_valid_host
|
||||
nova.tests.functional.test_server_group.ServerGroupTestV21.test_evacuate_with_anti_affinity
|
||||
nova.tests.functional.test_server_group.ServerGroupTestV21.test_evacuate_with_anti_affinity_no_valid_host
|
||||
nova.tests.functional.test_server_group.ServerGroupTestV215.test_evacuate_with_affinity_no_valid_host
|
||||
nova.tests.functional.test_server_group.ServerGroupTestV215.test_evacuate_with_anti_affinity
|
||||
@ -269,5 +195,4 @@ nova.tests.functional.test_server_group.ServerGroupTestV215.test_evacuate_with_a
|
||||
nova.tests.functional.test_server_group.ServerGroupTestV215.test_evacuate_with_soft_affinity
|
||||
nova.tests.functional.test_server_group.ServerGroupTestV215.test_evacuate_with_soft_anti_affinity
|
||||
nova.tests.functional.test_servers.ServersTest.test_create_server_with_injected_files
|
||||
nova.tests.functional.test_servers.ServersTestV21.test_create_multiple_servers
|
||||
nova.tests.functional.test_servers.ServersTestV21.test_create_server_with_injected_files
|
||||
|
Loading…
x
Reference in New Issue
Block a user