Trivial-Fix: Fix typos
Change-Id: I09a87b7a13cf551f18ef1fb27aa9f5406baebab4
This commit is contained in:
parent
89e78bf5a6
commit
9ebf9a5aa5
@ -39,7 +39,7 @@ class ExtendedServerAttributesController(wsgi.Controller):
|
||||
# NOTE(mriedem): These will use the OS-EXT-SRV-ATTR prefix below
|
||||
# and that's OK for microversion 2.3 which is being compatible
|
||||
# with v2.0 for the ec2 API split out from Nova. After this,
|
||||
# however, new microversoins should not be using the
|
||||
# however, new microversions should not be using the
|
||||
# OS-EXT-SRV-ATTR prefix.
|
||||
properties += ['reservation_id', 'launch_index',
|
||||
'hostname', 'kernel_id', 'ramdisk_id',
|
||||
|
@ -59,7 +59,7 @@ class HostController(wsgi.Controller):
|
||||
| {'host_name': 'network1.host.com',
|
||||
| 'service': 'network',
|
||||
| 'zone': 'internal'},
|
||||
| {'host_name': 'netwwork2.host.com',
|
||||
| {'host_name': 'network2.host.com',
|
||||
| 'service': 'network',
|
||||
| 'zone': 'internal'},
|
||||
| {'host_name': 'compute1.host.com',
|
||||
|
@ -39,7 +39,7 @@ class ServerMetadataController(wsgi.Controller):
|
||||
def _get_metadata(self, context, server_id):
|
||||
server = common.get_instance(self.compute_api, context, server_id)
|
||||
try:
|
||||
# NOTE(mikal): get_instanc_metadata sometimes returns
|
||||
# NOTE(mikal): get_instance_metadata sometimes returns
|
||||
# InstanceNotFound in unit tests, even though the instance is
|
||||
# fetched on the line above. I blame mocking.
|
||||
meta = self.compute_api.get_instance_metadata(context, server)
|
||||
|
@ -3095,7 +3095,7 @@ class API(base.Base):
|
||||
"""Detach a volume from an instance in shelved offloaded state.
|
||||
|
||||
If the instance is shelved offloaded we just need to cleanup volume
|
||||
calling the volume api detach, the volume api terminte_connection
|
||||
calling the volume api detach, the volume api terminate_connection
|
||||
and delete the bdm record.
|
||||
If the volume has delete_on_termination option set then we call the
|
||||
volume api delete as well.
|
||||
|
@ -2589,7 +2589,7 @@ class ComputeManager(manager.Manager):
|
||||
:param preserve_ephemeral: True if the default ephemeral storage
|
||||
partition must be preserved on rebuild
|
||||
:param migration: a Migration object if one was created for this
|
||||
rebuild operation (if it's a part of evacaute)
|
||||
rebuild operation (if it's a part of evacuate)
|
||||
:param scheduled_node: A node of the host chosen by the scheduler. If a
|
||||
host was specified by the user, this will be
|
||||
None
|
||||
|
@ -3812,7 +3812,7 @@ def quota_reserve(context, resources, project_quotas, user_quotas, deltas,
|
||||
usages = project_usages
|
||||
else:
|
||||
# NOTE(mriedem): user_usages is a dict of resource keys to
|
||||
# QuotaUsage sqlalchemy dict-like objects and doen't log well
|
||||
# QuotaUsage sqlalchemy dict-like objects and doesn't log well
|
||||
# so convert the user_usages values to something useful for
|
||||
# logging. Remove this if we ever change how
|
||||
# _get_project_user_quota_usages returns the user_usages values.
|
||||
|
@ -334,7 +334,7 @@ class Allocation(API_BASE):
|
||||
|
||||
|
||||
class ResourceProviderAggregate(API_BASE):
|
||||
"""Assocate a resource provider with an aggregate."""
|
||||
"""Associate a resource provider with an aggregate."""
|
||||
|
||||
__tablename__ = 'resource_provider_aggregates'
|
||||
__table_args__ = (
|
||||
|
@ -170,7 +170,7 @@ class ComputeNode(BASE, NovaBase, models.SoftDeleteMixin):
|
||||
stats = Column(Text, default='{}')
|
||||
|
||||
# json-encoded dict that contains NUMA topology as generated by
|
||||
# objects.NUMATopoloogy._to_json()
|
||||
# objects.NUMATopology._to_json()
|
||||
numa_topology = Column(Text)
|
||||
|
||||
# allocation ratios provided by the RT
|
||||
@ -1520,7 +1520,7 @@ class Allocation(BASE, models.ModelBase):
|
||||
|
||||
|
||||
class ResourceProviderAggregate(BASE, models.ModelBase):
|
||||
"""Assocate a resource provider with an aggregate."""
|
||||
"""Associate a resource provider with an aggregate."""
|
||||
|
||||
__tablename__ = 'resource_provider_aggregates'
|
||||
__table_args__ = (
|
||||
|
@ -195,7 +195,7 @@ class S3ImageService(object):
|
||||
raise exception.InvalidArchitectureName(arch=guestarch)
|
||||
|
||||
# NOTE(yamahata):
|
||||
# EC2 ec2-budlne-image --block-device-mapping accepts
|
||||
# EC2 ec2-bundle-image --block-device-mapping accepts
|
||||
# <virtual name>=<device name> where
|
||||
# virtual name = {ami, root, swap, ephemeral<N>}
|
||||
# where N is no negative integer
|
||||
|
@ -2107,7 +2107,7 @@ msgstr ""
|
||||
|
||||
#, python-format
|
||||
msgid ""
|
||||
"Ironic node: %(id)s virtual to physical interface count missmatch (Vif "
|
||||
"Ironic node: %(id)s virtual to physical interface count mismatch (Vif "
|
||||
"count: %(vif_count)d, Pif count: %(pif_count)d)"
|
||||
msgstr ""
|
||||
"Uzel Ironic: %(id)s nesoulad v počtu virtuálních a fyzických rozhraní (Počet "
|
||||
|
@ -2312,7 +2312,7 @@ msgstr ""
|
||||
|
||||
#, python-format
|
||||
msgid ""
|
||||
"Ironic node: %(id)s virtual to physical interface count missmatch (Vif "
|
||||
"Ironic node: %(id)s virtual to physical interface count mismatch (Vif "
|
||||
"count: %(vif_count)d, Pif count: %(pif_count)d)"
|
||||
msgstr ""
|
||||
"Ironic-Knoten: %(id)s - Abweichung der Anzahl für virtuelle und physische "
|
||||
|
@ -2309,7 +2309,7 @@ msgstr ""
|
||||
|
||||
#, python-format
|
||||
msgid ""
|
||||
"Ironic node: %(id)s virtual to physical interface count missmatch (Vif "
|
||||
"Ironic node: %(id)s virtual to physical interface count mismatch (Vif "
|
||||
"count: %(vif_count)d, Pif count: %(pif_count)d)"
|
||||
msgstr ""
|
||||
"Nodo Ironic: %(id)s desajuste de cuenta interfaz virtual a físico (Vif "
|
||||
|
@ -955,7 +955,7 @@ msgid "Unable to introduce VDI on SR"
|
||||
msgstr "Impossible d'introduire VDI sur SR"
|
||||
|
||||
msgid "Unable to load the virtualization driver"
|
||||
msgstr "Incapable de charger le pilote de virtualisation"
|
||||
msgstr "Incapable de charger le pilote de virtualization"
|
||||
|
||||
#, python-format
|
||||
msgid "Unable to migrate VM %(vm_ref)s from %(host)s"
|
||||
|
@ -1672,7 +1672,7 @@ msgstr "Le type virtuel d'hyperviseur '%s' n'est pas valide"
|
||||
#, python-format
|
||||
msgid "Hypervisor virtualization type '%(hv_type)s' is not recognised"
|
||||
msgstr ""
|
||||
"Le type de virtualisation de l'hyperviseur '%(hv_type)s' n'est pas reconnu."
|
||||
"Le type de virtualization de l'hyperviseur '%(hv_type)s' n'est pas reconnu."
|
||||
|
||||
#, python-format
|
||||
msgid "Hypervisor with ID '%s' could not be found."
|
||||
@ -2324,7 +2324,7 @@ msgstr ""
|
||||
|
||||
#, python-format
|
||||
msgid ""
|
||||
"Ironic node: %(id)s virtual to physical interface count missmatch (Vif "
|
||||
"Ironic node: %(id)s virtual to physical interface count mismatch (Vif "
|
||||
"count: %(vif_count)d, Pif count: %(pif_count)d)"
|
||||
msgstr ""
|
||||
"Non-concordance du nombre d'interfaces virtuelles et physiques sur le noeud "
|
||||
@ -2853,7 +2853,7 @@ msgid ""
|
||||
"\" hypervisor virtualization type."
|
||||
msgstr ""
|
||||
"Aucun URI de migration à chaud n'est configuré et aucune valeur par défaut "
|
||||
"n'est disponible pour le type de virtualisation d'hyperviseur \"%(virt_type)s"
|
||||
"n'est disponible pour le type de virtualization d'hyperviseur \"%(virt_type)s"
|
||||
"\"."
|
||||
|
||||
#, python-format
|
||||
@ -4522,7 +4522,7 @@ msgstr ""
|
||||
#, python-format
|
||||
msgid "Virtualization type '%(virt)s' is not supported by this compute driver"
|
||||
msgstr ""
|
||||
"Le type de virtualisation '%(virt)s' n'est pas pris en charge par ce pilote "
|
||||
"Le type de virtualization '%(virt)s' n'est pas pris en charge par ce pilote "
|
||||
"de calcul"
|
||||
|
||||
msgid "VlanID"
|
||||
|
@ -2304,7 +2304,7 @@ msgstr ""
|
||||
|
||||
#, python-format
|
||||
msgid ""
|
||||
"Ironic node: %(id)s virtual to physical interface count missmatch (Vif "
|
||||
"Ironic node: %(id)s virtual to physical interface count mismatch (Vif "
|
||||
"count: %(vif_count)d, Pif count: %(pif_count)d)"
|
||||
msgstr ""
|
||||
"Nodo virtuale Ironic: %(id)s mancata corrispondenza del conteggio "
|
||||
|
@ -2283,7 +2283,7 @@ msgstr ""
|
||||
|
||||
#, python-format
|
||||
msgid ""
|
||||
"Ironic node: %(id)s virtual to physical interface count missmatch (Vif "
|
||||
"Ironic node: %(id)s virtual to physical interface count mismatch (Vif "
|
||||
"count: %(vif_count)d, Pif count: %(pif_count)d)"
|
||||
msgstr ""
|
||||
"Ironic ノード %(id)s の仮想インターフェース数と物理インターフェース数が一致し"
|
||||
|
@ -2204,7 +2204,7 @@ msgstr ""
|
||||
|
||||
#, python-format
|
||||
msgid ""
|
||||
"Ironic node: %(id)s virtual to physical interface count missmatch (Vif "
|
||||
"Ironic node: %(id)s virtual to physical interface count mismatch (Vif "
|
||||
"count: %(vif_count)d, Pif count: %(pif_count)d)"
|
||||
msgstr ""
|
||||
"아이로닉 노드: 실제 인터페이스 개수에 대한 %(id)s 가상 불일치(Vif 개수: "
|
||||
|
@ -2288,7 +2288,7 @@ msgstr ""
|
||||
|
||||
#, python-format
|
||||
msgid ""
|
||||
"Ironic node: %(id)s virtual to physical interface count missmatch (Vif "
|
||||
"Ironic node: %(id)s virtual to physical interface count mismatch (Vif "
|
||||
"count: %(vif_count)d, Pif count: %(pif_count)d)"
|
||||
msgstr ""
|
||||
"Nó do Ironic: %(id)s incompatibilidade de contagem da interface virtual com "
|
||||
|
@ -2291,7 +2291,7 @@ msgstr ""
|
||||
|
||||
#, python-format
|
||||
msgid ""
|
||||
"Ironic node: %(id)s virtual to physical interface count missmatch (Vif "
|
||||
"Ironic node: %(id)s virtual to physical interface count mismatch (Vif "
|
||||
"count: %(vif_count)d, Pif count: %(pif_count)d)"
|
||||
msgstr ""
|
||||
"Узел Ironic %(id)s: несоответствие числа виртуальных и физических "
|
||||
|
@ -1835,7 +1835,7 @@ msgstr ""
|
||||
|
||||
#, python-format
|
||||
msgid ""
|
||||
"Ironic node: %(id)s virtual to physical interface count missmatch (Vif "
|
||||
"Ironic node: %(id)s virtual to physical interface count mismatch (Vif "
|
||||
"count: %(vif_count)d, Pif count: %(pif_count)d)"
|
||||
msgstr ""
|
||||
"Ironic düğümü: %(id)s sanaldan fiziksele arayüz sayısı uyuşmuyor (Vif "
|
||||
|
@ -2121,7 +2121,7 @@ msgstr "Ironic节点%(id)s校验失败。 (部署: %(deploy)s, 电源: %(power
|
||||
|
||||
#, python-format
|
||||
msgid ""
|
||||
"Ironic node: %(id)s virtual to physical interface count missmatch (Vif "
|
||||
"Ironic node: %(id)s virtual to physical interface count mismatch (Vif "
|
||||
"count: %(vif_count)d, Pif count: %(pif_count)d)"
|
||||
msgstr ""
|
||||
"Ironic节点:%(id)s 虚拟到物理接口的计数不匹配(Vif count: %(vif_count)d, Pif "
|
||||
|
@ -2109,7 +2109,7 @@ msgstr "無法驗證 Ironic 節點 %(id)s。(部署:%(deploy)s,電源:%(
|
||||
|
||||
#, python-format
|
||||
msgid ""
|
||||
"Ironic node: %(id)s virtual to physical interface count missmatch (Vif "
|
||||
"Ironic node: %(id)s virtual to physical interface count mismatch (Vif "
|
||||
"count: %(vif_count)d, Pif count: %(pif_count)d)"
|
||||
msgstr ""
|
||||
"Ironic 節點 %(id)s 虛擬至實體介面計數不符(Vif計數:%(vif_count)d,Pif 計數:"
|
||||
|
@ -1500,7 +1500,7 @@ class LinuxBridgeInterfaceDriver(LinuxNetInterfaceDriver):
|
||||
_execute('ip', 'link', 'set', interface, 'up', run_as_root=True,
|
||||
check_exit_code=[0, 2, 254])
|
||||
# NOTE(vish): set mtu every time to ensure that changes to mtu get
|
||||
# propogated
|
||||
# propagated
|
||||
_set_device_mtu(interface, mtu)
|
||||
return interface
|
||||
|
||||
|
@ -276,7 +276,7 @@ class Subnet(Model):
|
||||
self['ips'].append(ip)
|
||||
|
||||
def as_netaddr(self):
|
||||
"""Convience function to get cidr as a netaddr object."""
|
||||
"""Convenient function to get cidr as a netaddr object."""
|
||||
return netaddr.IPNetwork(self['cidr'])
|
||||
|
||||
@classmethod
|
||||
|
@ -190,7 +190,7 @@ def _compute_states_payload(instance, old_vm_state=None,
|
||||
# If the states were not specified we assume the current instance
|
||||
# states are the correct information. This is important to do for
|
||||
# both old and new states because otherwise we create some really
|
||||
# confusing nofications like:
|
||||
# confusing notifications like:
|
||||
#
|
||||
# None(None) => Building(none)
|
||||
#
|
||||
|
@ -181,7 +181,7 @@ class ComputeNode(base.NovaPersistentObject, base.NovaObject):
|
||||
# restored for both cpu (16.0), ram (1.5) and disk (1.0)
|
||||
# allocation ratios.
|
||||
# TODO(sbauza): Remove that in the next major version bump where
|
||||
# we break compatibilility with old Liberty computes
|
||||
# we break compatibility with old Liberty computes
|
||||
if (key == 'cpu_allocation_ratio' or key == 'ram_allocation_ratio'
|
||||
or key == 'disk_allocation_ratio'):
|
||||
if value == 0.0:
|
||||
|
@ -359,7 +359,7 @@ class ImageMetaProps(base.NovaObject):
|
||||
|
||||
# Image mappings - related to Block device mapping data - mapping
|
||||
# of virtual image names to device names. This could be represented
|
||||
# as a formatl data type, but is left as dict for same reason as
|
||||
# as a formal data type, but is left as dict for same reason as
|
||||
# img_block_device_mapping field. It would arguably make sense for
|
||||
# the two to be combined into a single field and data type in the
|
||||
# future.
|
||||
|
@ -40,7 +40,7 @@ class InstancePCIRequest(base.NovaObject,
|
||||
|
||||
# NOTE(danms): The dict that this object replaces uses a key of 'new'
|
||||
# so we translate it here to our more appropropriately-named 'is_new'.
|
||||
# This is not something that affects the obect version, so we could
|
||||
# This is not something that affects the object version, so we could
|
||||
# remove this later when all dependent code is fixed.
|
||||
@property
|
||||
def new(self):
|
||||
|
@ -324,7 +324,7 @@ class PciDevice(base.NovaPersistentObject, base.NovaObject):
|
||||
parent_ok_statuses = (fields.PciDeviceStatus.AVAILABLE,
|
||||
fields.PciDeviceStatus.UNCLAIMABLE,
|
||||
fields.PciDeviceStatus.UNAVAILABLE)
|
||||
dependatns_ok_statuses = (fields.PciDeviceStatus.AVAILABLE,
|
||||
dependants_ok_statuses = (fields.PciDeviceStatus.AVAILABLE,
|
||||
fields.PciDeviceStatus.UNCLAIMABLE)
|
||||
if self.status not in ok_statuses:
|
||||
raise exception.PciDeviceInvalidStatus(
|
||||
@ -339,7 +339,7 @@ class PciDevice(base.NovaPersistentObject, base.NovaObject):
|
||||
hopeowner=instance['uuid'])
|
||||
if self.dev_type == fields.PciDeviceType.SRIOV_PF:
|
||||
vfs_list = self.child_devices
|
||||
if not all([vf.status in dependatns_ok_statuses for
|
||||
if not all([vf.status in dependants_ok_statuses for
|
||||
vf in vfs_list]):
|
||||
raise exception.PciDeviceVFInvalidStatus(
|
||||
compute_node_id=self.compute_node_id,
|
||||
|
@ -225,7 +225,7 @@ def get_verifier(context, img_signature_certificate_uuid,
|
||||
def get_signature(signature_data):
|
||||
"""Decode the signature data and returns the signature.
|
||||
|
||||
:param siganture_data: the base64-encoded signature data
|
||||
:param signature_data: the base64-encoded signature data
|
||||
:returns: the decoded signature
|
||||
:raises: SignatureVerificationError if the signature data is malformatted
|
||||
"""
|
||||
|
@ -31,7 +31,7 @@ class TestAggregateCreation(test.TestCase):
|
||||
def test_name_validation(self):
|
||||
"""Regression test for bug #1552888.
|
||||
|
||||
The current aggregate accepts a null param for availablitliy zone,
|
||||
The current aggregate accepts a null param for availability zone,
|
||||
change to the validation might affect some command like
|
||||
'nova aggregate create foo'
|
||||
This test ensure those kind of change won't affect validation
|
||||
|
@ -39,7 +39,7 @@ class LegacyV2CompatibleTestBase(test_servers.ServersTestBase):
|
||||
self.assertNotIn('Vary', response.headers)
|
||||
self.assertNotIn('type', response.body["keypair"])
|
||||
|
||||
def test_request_without_addtional_properties_check(self):
|
||||
def test_request_without_additional_properties_check(self):
|
||||
self.api.microversion = '2.100'
|
||||
response = self.api.api_post('os-keypairs',
|
||||
{"keypair": {"name": "test", "foooooo": "barrrrrr"}})
|
||||
|
@ -36,7 +36,7 @@ class SecgroupsFullstack(testscenarios.WithScenarios, test.TestCase):
|
||||
_flavor_ref_parameter = 'flavorRef'
|
||||
|
||||
# This test uses ``testscenarios`` which matrix multiplies the
|
||||
# test across the scenarios listed below setting the attributres
|
||||
# test across the scenarios listed below setting the attributes
|
||||
# in the dictionary on ``self`` for each scenario.
|
||||
scenarios = [
|
||||
('v2', {
|
||||
|
@ -31,7 +31,7 @@ def fake_set_admin_password(self, context, instance, password=None):
|
||||
|
||||
|
||||
class AdminPasswordTestV21(test.NoDBTestCase):
|
||||
validiation_error = exception.ValidationError
|
||||
validation_error = exception.ValidationError
|
||||
|
||||
def setUp(self):
|
||||
super(AdminPasswordTestV21, self).setUp()
|
||||
@ -74,7 +74,7 @@ class AdminPasswordTestV21(test.NoDBTestCase):
|
||||
|
||||
def test_change_password_with_non_string_password(self):
|
||||
body = {'changePassword': {'adminPass': 1234}}
|
||||
self.assertRaises(self.validiation_error,
|
||||
self.assertRaises(self.validation_error,
|
||||
self._get_action(),
|
||||
self.fake_req, '1', body=body)
|
||||
|
||||
@ -89,25 +89,25 @@ class AdminPasswordTestV21(test.NoDBTestCase):
|
||||
|
||||
def test_change_password_without_admin_password(self):
|
||||
body = {'changPassword': {}}
|
||||
self.assertRaises(self.validiation_error,
|
||||
self.assertRaises(self.validation_error,
|
||||
self._get_action(),
|
||||
self.fake_req, '1', body=body)
|
||||
|
||||
def test_change_password_none(self):
|
||||
body = {'changePassword': {'adminPass': None}}
|
||||
self.assertRaises(self.validiation_error,
|
||||
self.assertRaises(self.validation_error,
|
||||
self._get_action(),
|
||||
self.fake_req, '1', body=body)
|
||||
|
||||
def test_change_password_adminpass_none(self):
|
||||
body = {'changePassword': None}
|
||||
self.assertRaises(self.validiation_error,
|
||||
self.assertRaises(self.validation_error,
|
||||
self._get_action(),
|
||||
self.fake_req, '1', body=body)
|
||||
|
||||
def test_change_password_bad_request(self):
|
||||
body = {'changePassword': {'pass': '12345'}}
|
||||
self.assertRaises(self.validiation_error,
|
||||
self.assertRaises(self.validation_error,
|
||||
self._get_action(),
|
||||
self.fake_req, '1', body=body)
|
||||
|
||||
|
@ -241,7 +241,7 @@ class AggregateTestCaseV21(test.NoDBTestCase):
|
||||
{"name": "test",
|
||||
"availability_zone": " nova1 "}})
|
||||
|
||||
def test_create_availabiltiy_zone_with_leading_trailing_spaces_compat_mode(
|
||||
def test_create_availability_zone_with_leading_trailing_spaces_compat_mode(
|
||||
self):
|
||||
|
||||
def fake_mock_aggs(context, name, az):
|
||||
|
@ -218,7 +218,7 @@ class InterfaceAttachTestsV21(test.NoDBTestCase):
|
||||
self.attachments.delete,
|
||||
self.req,
|
||||
FAKE_UUID1,
|
||||
'invaid-port-id')
|
||||
'invalid-port-id')
|
||||
|
||||
def test_attach_interface_instance_locked(self):
|
||||
def fake_attach_interface_to_locked_server(self, context,
|
||||
|
@ -110,7 +110,7 @@ class CellsTestV21(BaseCellsTest):
|
||||
self.assertEqual(len(res_dict['cells']), 2)
|
||||
for i, cell in enumerate(res_dict['cells']):
|
||||
self.assertEqual(cell['name'], self.fake_cells[i]['name'])
|
||||
self.assertNotIn('capabilitiles', cell)
|
||||
self.assertNotIn('capabilities', cell)
|
||||
self.assertNotIn('password', cell)
|
||||
|
||||
def test_detail(self):
|
||||
|
@ -51,7 +51,7 @@ def compute_api_get_all(context, search_opts=None, want_objects=True):
|
||||
return [fake_vpn_instance()]
|
||||
|
||||
|
||||
def utils_vpn_ping(addr, port, timoeout=0.05, session_id=None):
|
||||
def utils_vpn_ping(addr, port, timeout=0.05, session_id=None):
|
||||
return True
|
||||
|
||||
|
||||
|
@ -50,8 +50,8 @@ class CloudpipeUpdateTestV21(test.NoDBTestCase):
|
||||
def _setup(self):
|
||||
self.controller = clup_v21.CloudpipeController()
|
||||
|
||||
def _check_status(self, expected_status, res, controller_methord):
|
||||
self.assertEqual(expected_status, controller_methord.wsgi_code)
|
||||
def _check_status(self, expected_status, res, controller_method):
|
||||
self.assertEqual(expected_status, controller_method.wsgi_code)
|
||||
|
||||
def test_cloudpipe_configure_project(self):
|
||||
body = {"configure_project": {"vpn_ip": "1.2.3.4", "vpn_port": 222}}
|
||||
|
@ -89,7 +89,7 @@ class ServersControllerCreateTestV21(test.TestCase):
|
||||
self.no_config_drive_controller = servers_v21.ServersController(
|
||||
extension_info=ext_info)
|
||||
|
||||
def _verfiy_config_drive(self, **kwargs):
|
||||
def _verify_config_drive(self, **kwargs):
|
||||
self.assertNotIn('config_drive', kwargs)
|
||||
|
||||
def _initialize_extension(self):
|
||||
@ -151,7 +151,7 @@ class ServersControllerCreateTestV21(test.TestCase):
|
||||
old_create = compute_api.API.create
|
||||
|
||||
def create(*args, **kwargs):
|
||||
self._verfiy_config_drive(**kwargs)
|
||||
self._verify_config_drive(**kwargs)
|
||||
return old_create(*args, **kwargs)
|
||||
|
||||
self.stubs.Set(compute_api.API, 'create', create)
|
||||
|
@ -150,10 +150,10 @@ class ConsoleOutputExtensionTestV21(test.NoDBTestCase):
|
||||
self._check_console_output_failure(webob.exc.HTTPNotFound, body)
|
||||
|
||||
|
||||
class ConsoleOutpuPolicyEnforcementV21(test.NoDBTestCase):
|
||||
class ConsoleOutputPolicyEnforcementV21(test.NoDBTestCase):
|
||||
|
||||
def setUp(self):
|
||||
super(ConsoleOutpuPolicyEnforcementV21, self).setUp()
|
||||
super(ConsoleOutputPolicyEnforcementV21, self).setUp()
|
||||
self.controller = console_output_v21.ConsoleOutputController()
|
||||
|
||||
def test_get_console_output_policy_failed(self):
|
||||
|
@ -109,8 +109,8 @@ class FloatingIpDNSTestV21(test.TestCase):
|
||||
db.floating_ip_destroy(self.context, test_ipv4_address)
|
||||
db.floating_ip_destroy(self.context, test_ipv6_address)
|
||||
|
||||
def _check_status(self, expected_status, res, controller_methord):
|
||||
self.assertEqual(expected_status, controller_methord.wsgi_code)
|
||||
def _check_status(self, expected_status, res, controller_method):
|
||||
self.assertEqual(expected_status, controller_method.wsgi_code)
|
||||
|
||||
def _bad_request(self):
|
||||
return webob.exc.HTTPBadRequest
|
||||
|
@ -181,7 +181,7 @@ class KeypairsTestV21(test.TestCase):
|
||||
},
|
||||
}
|
||||
res_dict = self.controller.create(self.req, body=body)
|
||||
# FIXME(ja): sholud we check that public_key was sent to create?
|
||||
# FIXME(ja): Should we check that public_key was sent to create?
|
||||
self.assertGreater(len(res_dict['keypair']['fingerprint']), 0)
|
||||
self.assertNotIn('private_key', res_dict['keypair'])
|
||||
self._assert_keypair_type(res_dict)
|
||||
|
@ -3778,7 +3778,7 @@ class ServersViewBuilderTest(test.TestCase):
|
||||
|
||||
self.request.context = context.RequestContext('fake', 'fake')
|
||||
output = self.view_builder.show(self.request, self.instance)
|
||||
# Regardless of vm_state deleted servers sholud be DELETED
|
||||
# Regardless of vm_state deleted servers should be DELETED
|
||||
self.assertEqual("DELETED", output['server']['status'])
|
||||
self.assertThat(output['server']['fault'],
|
||||
matchers.DictMatches(expected_fault))
|
||||
@ -4104,7 +4104,7 @@ class FakeExt(extensions.V21APIExtensionBase):
|
||||
return self.fake_schema
|
||||
elif version == '2.0':
|
||||
return {}
|
||||
# This fake method should reuturn the schema for expected version
|
||||
# This fake method should return the schema for expected version
|
||||
# Return None will make the tests failed, that means there is something
|
||||
# in the code.
|
||||
return None
|
||||
|
@ -25,7 +25,7 @@ from nova import test
|
||||
|
||||
class TestLegacyV2CompatibleWrapper(test.NoDBTestCase):
|
||||
|
||||
def test_filter_out_microverions_request_header(self):
|
||||
def test_filter_out_microversions_request_header(self):
|
||||
req = webob.Request.blank('/')
|
||||
req.headers[wsgi.API_VERSION_REQUEST_HEADER] = '2.2'
|
||||
|
||||
@ -38,7 +38,7 @@ class TestLegacyV2CompatibleWrapper(test.NoDBTestCase):
|
||||
wrapper = nova.api.openstack.LegacyV2CompatibleWrapper(fake_app)
|
||||
req.get_response(wrapper)
|
||||
|
||||
def test_filter_out_microverions_response_header(self):
|
||||
def test_filter_out_microversions_response_header(self):
|
||||
req = webob.Request.blank('/')
|
||||
|
||||
@webob.dec.wsgify
|
||||
@ -52,7 +52,7 @@ class TestLegacyV2CompatibleWrapper(test.NoDBTestCase):
|
||||
response = req.get_response(wrapper)
|
||||
self.assertNotIn(wsgi.API_VERSION_REQUEST_HEADER, response.headers)
|
||||
|
||||
def test_filter_out_microverions_vary_header(self):
|
||||
def test_filter_out_microversions_vary_header(self):
|
||||
req = webob.Request.blank('/')
|
||||
|
||||
@webob.dec.wsgify
|
||||
@ -66,7 +66,7 @@ class TestLegacyV2CompatibleWrapper(test.NoDBTestCase):
|
||||
response = req.get_response(wrapper)
|
||||
self.assertNotIn('Vary', response.headers)
|
||||
|
||||
def test_filter_out_microverions_vary_header_with_multi_fields(self):
|
||||
def test_filter_out_microversions_vary_header_with_multi_fields(self):
|
||||
req = webob.Request.blank('/')
|
||||
|
||||
@webob.dec.wsgify
|
||||
@ -83,7 +83,7 @@ class TestLegacyV2CompatibleWrapper(test.NoDBTestCase):
|
||||
self.assertEqual('FAKE_HEADER1,FAKE_HEADER2',
|
||||
response.headers['Vary'])
|
||||
|
||||
def test_filter_out_microverions_no_vary_header(self):
|
||||
def test_filter_out_microversions_no_vary_header(self):
|
||||
req = webob.Request.blank('/')
|
||||
|
||||
@webob.dec.wsgify
|
||||
@ -110,10 +110,10 @@ class TestLegacyV2CompatibleWrapper(test.NoDBTestCase):
|
||||
req.get_response(wrapper)
|
||||
|
||||
|
||||
class TestSoftAddtionalPropertiesValidation(test.NoDBTestCase):
|
||||
class TestSoftAdditionalPropertiesValidation(test.NoDBTestCase):
|
||||
|
||||
def setUp(self):
|
||||
super(TestSoftAddtionalPropertiesValidation, self).setUp()
|
||||
super(TestSoftAdditionalPropertiesValidation, self).setUp()
|
||||
self.schema = {
|
||||
'type': 'object',
|
||||
'properties': {
|
||||
|
@ -4204,7 +4204,7 @@ class ComputeManagerBuildInstanceTestCase(test.NoDBTestCase):
|
||||
mock.patch.object(self.instance, 'save',
|
||||
side_effect=exception.InstanceNotFound(instance_id=''))
|
||||
) as (_deallocate_network, save):
|
||||
# Testing that this doesn't raise an exeption
|
||||
# Testing that this doesn't raise an exception
|
||||
self.compute._cleanup_allocated_networks(self.context,
|
||||
self.instance, self.requested_networks)
|
||||
save.assert_called_once_with()
|
||||
|
@ -98,7 +98,7 @@ virtual_interface_fields = {'id': 0,
|
||||
|
||||
fixed_ips = [fixed_ip_fields]
|
||||
floating_ips = [floating_ip_fields]
|
||||
virtual_interfacees = [virtual_interface_fields]
|
||||
virtual_interfaces = [virtual_interface_fields]
|
||||
networks = [network_fields]
|
||||
|
||||
|
||||
@ -219,7 +219,7 @@ def fake_fixed_ip_update(context, address, values):
|
||||
for key in values:
|
||||
ips[0][key] = values[key]
|
||||
if key == 'virtual_interface_id':
|
||||
vif = [v for v in virtual_interfacees
|
||||
vif = [v for v in virtual_interfaces
|
||||
if v['id'] == values[key]]
|
||||
if not vif:
|
||||
continue
|
||||
@ -233,14 +233,14 @@ def fake_flavor_get(context, id):
|
||||
|
||||
def fake_virtual_interface_create(context, values):
|
||||
vif = dict(virtual_interface_fields)
|
||||
vif['id'] = max([m['id'] for m in virtual_interfacees] or [-1]) + 1
|
||||
vif['id'] = max([m['id'] for m in virtual_interfaces] or [-1]) + 1
|
||||
for key in values:
|
||||
vif[key] = values[key]
|
||||
return FakeModel(vif)
|
||||
|
||||
|
||||
def fake_virtual_interface_delete_by_instance(context, instance_id):
|
||||
vif = copy.copy(virtual_interfacees)
|
||||
vif = copy.copy(virtual_interfaces)
|
||||
addresses = [m for m in vif
|
||||
if m['instance_id'] == instance_id]
|
||||
try:
|
||||
@ -251,14 +251,14 @@ def fake_virtual_interface_delete_by_instance(context, instance_id):
|
||||
|
||||
|
||||
def fake_virtual_interface_get_by_instance(context, instance_id):
|
||||
return [FakeModel(m) for m in virtual_interfacees
|
||||
return [FakeModel(m) for m in virtual_interfaces
|
||||
if m['instance_id'] == instance_id]
|
||||
|
||||
|
||||
def fake_virtual_interface_get_by_instance_and_network(context,
|
||||
instance_id,
|
||||
network_id):
|
||||
vif = [v for v in virtual_interfacees if v['instance_id'] == instance_id
|
||||
vif = [v for v in virtual_interfaces if v['instance_id'] == instance_id
|
||||
and v['network_id'] == network_id]
|
||||
if not vif:
|
||||
return None
|
||||
|
@ -4323,7 +4323,7 @@ class InstanceTypeTestCase(BaseInstanceTypeTestCase):
|
||||
flavor['flavorid'], read_deleted='yes')
|
||||
self.assertEqual(flavor['id'], flavor_by_fid['id'])
|
||||
|
||||
def test_flavor_get_by_flavor_id_deleted_and_recreat(self):
|
||||
def test_flavor_get_by_flavor_id_deleted_and_recreate(self):
|
||||
# NOTE(wingwj): Aims to test difference between mysql and postgresql
|
||||
# for bug 1288636
|
||||
param_dict = {'name': 'abc', 'flavorid': '123'}
|
||||
|
@ -54,7 +54,7 @@ def fake_execute_default_reply_handler(*ignore_args, **ignore_kwargs):
|
||||
def fake_execute(*cmd_parts, **kwargs):
|
||||
"""This function stubs out execute.
|
||||
|
||||
It optionally executes a preconfigued function to return expected data.
|
||||
It optionally executes a preconfigured function to return expected data.
|
||||
|
||||
"""
|
||||
global _fake_execute_repliers
|
||||
|
@ -281,7 +281,7 @@ class ApiTestCase(test.TestCase):
|
||||
expected['floating_addresses'] = ['fake_float1', 'fake_float2']
|
||||
return fake_instance, fake_migration, expected
|
||||
|
||||
def test_migrate_instance_start_with_multhost(self):
|
||||
def test_migrate_instance_start_with_multihost(self):
|
||||
info = {'kwargs': {}}
|
||||
arg1, arg2, expected = self._stub_migrate_instance_calls(
|
||||
'migrate_instance_start', True, info)
|
||||
@ -289,14 +289,14 @@ class ApiTestCase(test.TestCase):
|
||||
self.network_api.migrate_instance_start(self.context, arg1, arg2)
|
||||
self.assertEqual(info['kwargs'], expected)
|
||||
|
||||
def test_migrate_instance_start_without_multhost(self):
|
||||
def test_migrate_instance_start_without_multihost(self):
|
||||
info = {'kwargs': {}}
|
||||
arg1, arg2, expected = self._stub_migrate_instance_calls(
|
||||
'migrate_instance_start', False, info)
|
||||
self.network_api.migrate_instance_start(self.context, arg1, arg2)
|
||||
self.assertEqual(info['kwargs'], expected)
|
||||
|
||||
def test_migrate_instance_finish_with_multhost(self):
|
||||
def test_migrate_instance_finish_with_multihost(self):
|
||||
info = {'kwargs': {}}
|
||||
arg1, arg2, expected = self._stub_migrate_instance_calls(
|
||||
'migrate_instance_finish', True, info)
|
||||
@ -304,7 +304,7 @@ class ApiTestCase(test.TestCase):
|
||||
self.network_api.migrate_instance_finish(self.context, arg1, arg2)
|
||||
self.assertEqual(info['kwargs'], expected)
|
||||
|
||||
def test_migrate_instance_finish_without_multhost(self):
|
||||
def test_migrate_instance_finish_without_multihost(self):
|
||||
info = {'kwargs': {}}
|
||||
arg1, arg2, expected = self._stub_migrate_instance_calls(
|
||||
'migrate_instance_finish', False, info)
|
||||
|
@ -133,7 +133,7 @@ class _TestBlockDeviceMappingObject(object):
|
||||
self.context, 'fake-volume-id')
|
||||
|
||||
@mock.patch.object(db, 'block_device_mapping_get_all_by_volume_id')
|
||||
def test_get_by_volume_instance_uuid_missmatch(self, get_by_vol_id):
|
||||
def test_get_by_volume_instance_uuid_mismatch(self, get_by_vol_id):
|
||||
fake_bdm_vol = self.fake_bdm(instance={'uuid': 'other-fake-instance'})
|
||||
get_by_vol_id.return_value = [fake_bdm_vol]
|
||||
|
||||
|
@ -618,7 +618,7 @@ class HackingTestCase(test.NoDBTestCase):
|
||||
checks.check_config_option_in_central_place,
|
||||
filename="nova/conf/serial_console.py")
|
||||
# option at a location which is not in scope right now
|
||||
# TODO(markus_z): This is remporary until all config options are
|
||||
# TODO(markus_z): This is temporary until all config options are
|
||||
# moved to /nova/conf
|
||||
self._assert_has_no_errors(code,
|
||||
checks.check_config_option_in_central_place,
|
||||
@ -704,10 +704,10 @@ class HackingTestCase(test.NoDBTestCase):
|
||||
"""
|
||||
self._assert_has_no_errors(code6, checks.cfg_help_with_enough_text)
|
||||
|
||||
# The help text uses a paranthesis (weird, but produces a valid string)
|
||||
# The help text uses a parenthesis (weird, but produces a valid string)
|
||||
code7 = """
|
||||
opt = cfg.StrOpt("opt7",
|
||||
help=("help text uses extra paranthesis"))
|
||||
help=("help text uses extra parenthesis"))
|
||||
"""
|
||||
self._assert_has_no_errors(code7, checks.cfg_help_with_enough_text)
|
||||
|
||||
|
@ -610,7 +610,7 @@ class CellCommandsTestCase(test.NoDBTestCase):
|
||||
|
||||
def test_create_transport_hosts_wrong_val(self):
|
||||
"""Test the _create_transport_hosts method when broker_hosts
|
||||
is wrongly sepcified
|
||||
is wrongly specified
|
||||
"""
|
||||
self.assertRaises(ValueError,
|
||||
self.commands._create_transport_hosts,
|
||||
@ -619,7 +619,7 @@ class CellCommandsTestCase(test.NoDBTestCase):
|
||||
|
||||
def test_create_transport_hosts_wrong_port_val(self):
|
||||
"""Test the _create_transport_hosts method when port in
|
||||
broker_hosts is wrongly sepcified
|
||||
broker_hosts is wrongly specified
|
||||
"""
|
||||
self.assertRaises(ValueError,
|
||||
self.commands._create_transport_hosts,
|
||||
@ -628,7 +628,7 @@ class CellCommandsTestCase(test.NoDBTestCase):
|
||||
|
||||
def test_create_transport_hosts_wrong_port_arg(self):
|
||||
"""Test the _create_transport_hosts method when port
|
||||
argument is wrongly sepcified
|
||||
argument is wrongly specified
|
||||
"""
|
||||
self.assertRaises(ValueError,
|
||||
self.commands._create_transport_hosts,
|
||||
|
@ -45,7 +45,7 @@ class PolicyFileTestCase(test.NoDBTestCase):
|
||||
|
||||
self.flags(policy_file=tmpfilename, group='oslo_policy')
|
||||
|
||||
# NOTE(uni): context construction invokes policy check to determin
|
||||
# NOTE(uni): context construction invokes policy check to determine
|
||||
# is_admin or not. As a side-effect, policy reset is needed here
|
||||
# to flush existing policy cache.
|
||||
policy.reset()
|
||||
|
@ -15426,7 +15426,7 @@ class LibvirtDriverTestCase(test.NoDBTestCase):
|
||||
configdrive_path))]
|
||||
mock_make.assert_has_calls(expected_call)
|
||||
|
||||
# cache() should habe been called on the 3 non-config disk backends
|
||||
# cache() should have been called on the 3 non-config disk backends
|
||||
for backend in (mock_backend.kernel, mock_backend.ramdisk,
|
||||
mock_backend.root):
|
||||
self.assertTrue(backend.cache.called)
|
||||
|
@ -35,7 +35,7 @@ class PluginTestBase(test.NoDBTestCase):
|
||||
session.apply_session_helpers(self.session)
|
||||
|
||||
def mock_patch_object(self, target, attribute, return_val=None):
|
||||
# utilility function to mock object's attribute
|
||||
# utility function to mock object's attribute
|
||||
patcher = mock.patch.object(target, attribute, return_value=return_val)
|
||||
mock_one = patcher.start()
|
||||
self.addCleanup(patcher.stop)
|
||||
|
@ -1254,14 +1254,14 @@ class ComputeDriver(object):
|
||||
def macs_for_instance(self, instance):
|
||||
"""What MAC addresses must this instance have?
|
||||
|
||||
Some hypervisors (such as bare metal) cannot do freeform virtualisation
|
||||
Some hypervisors (such as bare metal) cannot do freeform virtualization
|
||||
of MAC addresses. This method allows drivers to return a set of MAC
|
||||
addresses that the instance is to have. allocate_for_instance will take
|
||||
this into consideration when provisioning networking for the instance.
|
||||
|
||||
Mapping of MAC addresses to actual networks (or permitting them to be
|
||||
freeform) is up to the network implementation layer. For instance,
|
||||
with openflow switches, fixed MAC addresses can still be virtualised
|
||||
with openflow switches, fixed MAC addresses can still be virtualized
|
||||
onto any L2 domain, with arbitrary VLANs etc, but regular switches
|
||||
require pre-configured MAC->network mappings that will match the
|
||||
actual configuration.
|
||||
|
@ -1257,7 +1257,7 @@ def numa_get_reserved_huge_pages():
|
||||
to build NUMATopology.
|
||||
|
||||
:raises: exceptionInvalidReservedMemoryPagesOption is option is
|
||||
not corretly set.
|
||||
not correctly set.
|
||||
|
||||
:returns: a list of dict ordered by NUMA node ids; keys of dict
|
||||
are pages size where values are the number reserved.
|
||||
|
@ -1005,7 +1005,7 @@ class IronicDriver(virt_driver.ComputeDriver):
|
||||
if len(network_info) > len(ports):
|
||||
raise exception.VirtualInterfacePlugException(_(
|
||||
"Ironic node: %(id)s virtual to physical interface count"
|
||||
" missmatch"
|
||||
" mismatch"
|
||||
" (Vif count: %(vif_count)d, Pif count: %(pif_count)d)")
|
||||
% {'id': node.uuid,
|
||||
'vif_count': len(network_info),
|
||||
|
@ -210,7 +210,7 @@ NEXT_MIN_QEMU_VERSION = (1, 5, 3)
|
||||
# Relative block commit & rebase (feature is detected,
|
||||
# this version is only used for messaging)
|
||||
MIN_LIBVIRT_BLOCKJOB_RELATIVE_VERSION = (1, 2, 7)
|
||||
# Libvirt version 1.2.17 is required for successfull block live migration
|
||||
# Libvirt version 1.2.17 is required for successful block live migration
|
||||
# of vm booted from image with attached devices
|
||||
MIN_LIBVIRT_BLOCK_LM_WITH_VOLUMES_VERSION = (1, 2, 17)
|
||||
# libvirt discard feature
|
||||
@ -771,7 +771,7 @@ class LibvirtDriver(driver.ComputeDriver):
|
||||
# still hasn't gone then you get this EBUSY error.
|
||||
# Usually when a QEMU process fails to go away upon
|
||||
# SIGKILL it is because it is stuck in an
|
||||
# uninterruptable kernel sleep waiting on I/O from
|
||||
# uninterruptible kernel sleep waiting on I/O from
|
||||
# some non-responsive server.
|
||||
# Given the CPU load of the gate tests though, it is
|
||||
# conceivable that the 15 second timeout is too short,
|
||||
@ -4462,7 +4462,7 @@ class LibvirtDriver(driver.ComputeDriver):
|
||||
if pointer_model is None and CONF.libvirt.use_usb_tablet:
|
||||
# TODO(sahid): We set pointer_model to keep compatibility
|
||||
# until the next release O*. It means operators can continue
|
||||
# to use the depecrated option "use_usb_tablet" or set a
|
||||
# to use the deprecated option "use_usb_tablet" or set a
|
||||
# specific device to use
|
||||
pointer_model = "usbtablet"
|
||||
LOG.warning(_LW('The option "use_usb_tablet" has been '
|
||||
|
@ -75,11 +75,11 @@ class _OsInfoDatabase(object):
|
||||
fltr = libosinfo.Filter.new()
|
||||
flt_field = 'id' if os_name.startswith('http') else 'short-id'
|
||||
fltr.add_constraint(flt_field, os_name)
|
||||
filttered = self.oslist.new_filtered(fltr)
|
||||
list_len = filttered.get_length()
|
||||
filtered = self.oslist.new_filtered(fltr)
|
||||
list_len = filtered.get_length()
|
||||
if not list_len:
|
||||
raise exception.OsInfoNotFound(os_name=os_name)
|
||||
return filttered.get_nth(0)
|
||||
return filtered.get_nth(0)
|
||||
|
||||
|
||||
class OsInfo(object):
|
||||
|
@ -65,7 +65,7 @@ SUPPORTED_FLAT_VARIANTS = ["thin", "preallocated", "thick", "eagerZeroedThick"]
|
||||
EXTENSION_KEY = 'org.openstack.compute'
|
||||
EXTENSION_TYPE_INSTANCE = 'instance'
|
||||
|
||||
# The max number of devices that can be connnected to one adapter
|
||||
# The max number of devices that can be connected to one adapter
|
||||
# One adapter has 16 slots but one reserved for controller
|
||||
SCSI_MAX_CONNECT_NUMBER = 15
|
||||
|
||||
|
@ -164,7 +164,7 @@ def _get_allocation_info(client_factory, limits, allocation_type):
|
||||
if limits.limit:
|
||||
allocation.limit = limits.limit
|
||||
else:
|
||||
# Set as 'umlimited'
|
||||
# Set as 'unlimited'
|
||||
allocation.limit = -1
|
||||
if limits.reservation:
|
||||
allocation.reservation = limits.reservation
|
||||
|
@ -111,7 +111,7 @@ def password(self, arg_dict):
|
||||
|
||||
|
||||
def resetnetwork(self, arg_dict):
|
||||
"""Writes a resquest to xenstore that tells the agent
|
||||
"""Writes a request to xenstore that tells the agent
|
||||
to reset networking.
|
||||
"""
|
||||
timeout = int(arg_dict.pop('timeout', DEFAULT_TIMEOUT))
|
||||
|
@ -1,3 +1,3 @@
|
||||
---
|
||||
features:
|
||||
- Libvirt with Virtuozzo virtualisation type now supports snapshot operations
|
||||
- Libvirt with Virtuozzo virtualization type now supports snapshot operations
|
||||
|
@ -1,6 +1,6 @@
|
||||
---
|
||||
features:
|
||||
- Two new policies soft-affinty and soft-anti-affinity have been implemented
|
||||
- Two new policies soft-affinity and soft-anti-affinity have been implemented
|
||||
for the server-group feature of Nova. This means that
|
||||
POST /v2.1/{tenant_id}/os-server-groups
|
||||
API resource now accepts 'soft-affinity' and 'soft-anti-affinity' as value
|
||||
|
Loading…
x
Reference in New Issue
Block a user